Subject: Re: [boost] [gsoc] Boost.Process done
From: Ilya Sokolov (ilyasokol_at_[hidden])
Date: 2010-08-31 09:13:22
On 29.08.2010 23:27, Boris Schaeling wrote:
> On Fri, 27 Aug 2010 17:51:49 +0200, Adam Merz <adammerz_at_[hidden]> wrote:
>> Boris Schaeling <boris <at> highscore.de> writes:
>>> If there are other ideas how to generate a unique name I can update
>>> the code
>>> (Windows provides an API to generate UUIDs but unfortunately it
>>> requires COM;
>>> on POSIX systems I'm not aware of any system function which could
>> For Windows, Neither UuidCreate nor UuidCreateSequential require COM.
>> Are these
>> not generally suitable for your needs?
> Thanks, you are right! I thought there is only CoCreateGuid. But what to
> do on POSIX systems? Reinventing Boost.Uuid doesn't make sense?
> Here's another idea: The behavior::named_pipe constructor accepts an
> optional parameter to set a pipe name. I could add a macro like
> BOOST_PROCESS_NO_BOOST_UUID which would remove Boost.Uuid code and
> require the caller to set a name. Then everyone is free to generate
> unique names with whatever functions are available?
As a user of the library, I'm not interested which pipes are used for
I/O - anonymous or named. IMO it is better to provide exactly one
stream behavior which supports both sync and async I/O. On windows
it would be implemented with named pipe and UuidCreateSequential
(as it "tends to be slightly faster than the UuidCreate" ).
On POSIX it would be implemented with anonymous pipe.
IMO anonymous and named pipes should be in the Boost.Interprocess
 UuidCreateSequential Function
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk