Subject: Re: [boost] Boost.Process 0.5: Another update/potential candidate for an official library
From: Boris Schaeling (boris_at_[hidden])
Date: 2012-11-13 16:39:03
On Thu, 08 Nov 2012 01:08:21 +0100, Alexander Lamaison
> [...]Does this mean child *is* copyable on other platforms? So the
> class has
> entirely different semantics on different platforms?
Yes. It doesn't own resources on POSIX.
I understand what you hint at. I'm not sure though whether we can justify
making child non-copyable for POSIX developers just because Windows
developers can't copy it.
> [...]I still don't get why you're letting this behaviour vary between
> platform. Sure, the underlying system calls have different defaults but
> they are both capable of both behaviours. The whole point of a
> platform-independent library is to align such variation.
If you use inherit_env(), you get the cross-platform behavior you are
looking for. But I prefer not to break the "pay for what you
use"-principle if you don't use inherit_env(). Besides, standardizing the
default behavior requires you to pick one. But whether this should be
always POSIX, always Windows, always the most convenient or always the
easiest to implement - I'm afraid there will be always others who want
another default behavior.