Boost logo

Boost :

From: Boris (boriss_at_[hidden])
Date: 2008-08-31 14:01:11

On Sun, 31 Aug 2008 18:23:30 +0200, Ion Gaztañaga <igaztanaga_at_[hidden]>

Hi Ion,

> I recently needed s library to launch processes and I took a look to the
> recently announced Process 0.2
> (

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. :)


> [...]

Boost list run by bdawes at, gregod at, cpdaniel at, john at