
On Sun, 31 Aug 2008 18:23:30 +0200, Ion GaztaƱaga <igaztanaga@gmail.com> wrote: Hi Ion,
I recently needed s library to launch processes and I took a look to the recently announced Process 0.2 (http://lists.boost.org/Archives/boost/2008/07/139322.php).
I'm currently working on Boost.Process 0.3. After having released version 0.2 I had learnt that there was another version of Boost.Process somewhere in Subversion which was more recent than version 0.1 which I had used to create 0.2. With Boost.Process 0.3 all changes in all snapshots will be merged again.
[...]A process-launching library is a very nice utility for Interprocess and I was thinking of adding this possibility for a future version (Boost 1.37 or 1.38) of the library. If Boost.Process is going forward, it would be glad to collaborate and develop a library that can satisfy all our needs and plays nicely with Interprocess.
Sure! I had picked up Boost.Process myself which was created in a Google Summer of Project in 2006 by someone else.
[...]2) Ability to redirect child process stdin/stdout/stderr to /dev/null, to share the stdin/stdout of the parent or to redirect it to a file. And in the latter case, append or overwrite options (Boost.Process implements some of this options). I slightly modified Boost.Process to implement a rought version of file redirection.
This is already supported in Boost.Process 0.3.
[...]5) I don't know if streams are the right way to communicate with processes, because they don't offer non-blocking support.
I had added a method to access a file handle in version 0.2 I think. That way it's possible to use asynchronous I/O (you need Boost.Asio 1.1 at least; I think this version supports I/O objects for file descriptors the first time). There is no example yet but asynchronous I/O works as far as I can tell.
6) I think that process-launching interface should be similar to the soon to be standardized C++ futures.
I'm not sure to what you are referring (do you have a link?). However the Launcher concept is replaced by a Context concept in 0.3. This was a change in Subversion by whoever was doing the changes there (with 0.3 I'm really trying to get one version of Boost.Process again without making any other changes).
So I'm interested in a process-launching library and I offer my collaboration in case Boost.Process development needs help.
Can you wait two weeks? :) I should be done with version 0.3 until mid September. I'm nearly done going through the source code and can send you the .hpp files if you want? I still need to update the examples and documentation though.
PS: Some possible bugs found on Boost.Process 0.2 version (Windows):
Thanks, I'll go through the list later. There might be bugs in the POSIX code, too, because I never tested the code. But as I said priority #1 is currently merging all the snapshots again. :) Boris
[...]