Boost logo

Boost :

Subject: Re: [boost] Boost.Process 0.5: Another update/potential candidate for an official library
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2012-11-07 17:29:09


Le 07/11/12 21:47, Boris Schaeling a écrit :
> I've uploaded a new version of Boost.Process 0.5 to
> <http://www.highscore.de/boost/process0.5/>:
>
> - Made child movable and non-copyable on Windows (destructor closes
> handles)
> - Added cross-platform helpers in a new header file
> boost/process/mitigate.hpp
> - Updated and improved documentation (eg. FAQ is new)
> - Added the POSIX initializer notify_io_service (Boost.Asio helper)
> - Minor bug fixes and improvements (eg. in search_path() on Windows)
>
> At this point there is nothing left on my todo list. I got quite a lot
> of feedback so far and would appreciate if people can look at this new
> version again. If there are no major shortcomings found, I'll ask for
> a formal review.
>
Hi,

I can admit that there could be some extension for specific platforms,
but from the documentation it seems that the common part is not enough
to make portable programs. Examples are, cleaning up resources, handling
errors, the relative path, inheriting env variables, asynchronous i/o,
child destructor, return code for wait_for_exit, ...

The mix of posix and windows specific in class child is really troubling

struct child {
   // construct/copy/destruct
   explicit child(const PROCESS_INFORMATION &);
   explicit child(pid_t);

   // public member functions
   HANDLE process_handle() const;

   // public data members
   PROCESS_INFORMATION proc_info;
   pid_t pid;
};

Are these really public members?

Best,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk