
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