
I've released Boost.Process 0.3. Here's the documentation and a link to download the zip archive: Docs: http://www.highscore.de/boost/process/ Code: http://www.highscore.de/boost/process.zip It's a header-only library and thus pretty easy to use: Just copy the files to your Boost directory. In this release my main goal was to merge various snapshots: * There was my Boost.Process 0.2 version which was based on Boost.Process 0.1 from 2006. * There was a post-0.1 version of Boost.Process in SVN from 2007. * Chris Fairles had modified a Boost.Process snapshot for Unix platforms. * Ion Gaztañaga had also some ideas and bug fixes he sent to this mailing list recently. I just saw that Ilya Sokolov created another snapshot based on Boost.Process in SVN. That means we have again at least two different versions of Boost.Process. :-/ In my Boost.Process 0.3 version I concentrated on merging and overhauling code. I did not change the design but tried to make the code work: All the code which was written since 2006 should become usable. That's why I also concentrated a lot on test cases. There are quite a lot of test cases, and they all can be built and passed successfully on three platforms with four compilers. As it would be great if others run the test cases, too (ideally on new platforms), I'll send another message in a few minutes with a description how to run the test cases yourself. As the documentation was written in 2006 I also updated it. It's not yet really a good documentation: There are some files coming from 2006 while other files I wrote myself only last week. While the documentation can be improved it's at least up-to-date: The examples all work and can be compiled. As the documentation was not my priority for Boost.Process 0.3 it should be ok for now. Boris

Boris said: (by the date of Mon, 22 Sep 2008 11:35:09 +0200)
One typo in: http://www.highscore.de/boost/process/process/introduction.html First paragraph: "and a way to communicate with them them using" ^^^^ -- Janek Kozicki |

On Mon, 22 Sep 2008 14:25:17 +0200, Janek Kozicki <janek_listy@wp.pl> wrote:
Boris said: (by the date of Mon, 22 Sep 2008 11:35:09 +0200)
One typo in:
http://www.highscore.de/boost/process/process/introduction.html
First paragraph: "and a way to communicate with them them using" ^^^^
Thanks, fixed! If it's only the documentation which contains errors I'll be more than happy. :) Boris

boost 1.35 (boost::mpl::vector) models a front extensible sequence. of course this does not make sense, because inserting at front implies n operations, where the docu states it takes only constant compile time. boost 1.36 (boost::mpl::vector) so an compile time assertion tells, that push_front is not supported for vectors. (docu dont states so) boost 1.35 (boost::mpl::list ) is a front and back extensible sequence, so push_front and push_back are supported as for std::list (that ok). boost 1.36 (boost::mpl::list) is no longer back extensible, because a compile time assertion tells, that the push_back is no longer supported for lists. maybe its planned to change the implementation to a recursive list, then inserting at back, will take O(n), but a list must support push_back. please fix that. docu states, a list is front and back extensible (inconsitent to assertion). mfg, ingo.

AMDG Ingo.Loehken@boc-eu.com wrote:
boost 1.35 (boost::mpl::vector)
models a front extensible sequence. of course this does not make sense, because inserting at front implies n operations, where the docu states it takes only constant compile time.
boost 1.36 (boost::mpl::vector)
so an compile time assertion tells, that push_front is not supported for vectors. (docu dont states so)
push_front is supported for mpl::vector.
boost 1.35 (boost::mpl::list )
is a front and back extensible sequence, so push_front and push_back are supported as for std::list (that ok).
boost 1.36 (boost::mpl::list)
is no longer back extensible, because a compile time assertion tells, that the push_back is no longer supported for lists. maybe its planned to change the implementation to a recursive list, then inserting at back, will take O(n), but a list must support push_back. please fix that.
docu states, a list is front and back extensible (inconsitent to assertion).
Where do the docs say that mpl::list is back extensible. AFAIK, mpl::list has never supported push_back. Could you please post specific code which fails that you think ought to succeed? In Christ, Steven Watanabe

Boris wrote:
[snip]
I just saw that Ilya Sokolov created another snapshot based on Boost.Process in SVN. That means we have again at least two different versions of Boost.Process. :-/
It is not a problem. We can merge our libraries, but I prefer to do it later, when we both investigate the most of problems independently. I hope we will achieve a better design this way, what do you think?
[snip]
Boris

On Mon, 22 Sep 2008 18:57:30 +0200, Ilya Sokolov <ilyasokol@gmail.com> wrote: Hi Ilya,
Boris wrote:
[snip] I just saw that Ilya Sokolov created another snapshot based on Boost.Process in SVN. That means we have again at least two different versions of Boost.Process. :-/
It is not a problem. We can merge our libraries, but I prefer to do it later, when we both investigate the most of problems independently. I hope we will achieve a better design this way, what do you think?
from what I understand you plan more to play around with the design? My plan was and is to create a Boost.Process version which works reliably today as I need to manage child processes in a commercial software (that was the reason why I picked up Boost.Process at all). That's why I concentrated on stabilizing code and testing everything. If you plan to continue to play around with the design (like dropping classes like posix_context and win32_context) I think it's a good idea to do this in a different version. I wouldn't mind if someone takes over my Boost.Process version (feel free to copy the implementation of various functions if you want, Ilya). I just need versions which are safe to use in a commercial project. From what I've seen your Boost.Process version wouldn't compile for example in MSVC if Unicode is used? Regarding future development: I plan to improve support for asynchronous I/O. I'm also interested in integrating Boost.Interprocess and Boost.Process somehow (like using shared memory instead of streams for interprocess communication). What are your plans? Boris

Boris wrote:
On Mon, 22 Sep 2008 18:57:30 +0200, Ilya Sokolov <ilyasokol@gmail.com> wrote:
Hi Ilya,
Boris wrote:
[snip] I just saw that Ilya Sokolov created another snapshot based on Boost.Process in SVN. That means we have again at least two different versions of Boost.Process. :-/
It is not a problem. We can merge our libraries, but I prefer to do it later, when we both investigate the most of problems independently. I hope we will achieve a better design this way, what do you think?
from what I understand you plan more to play around with the design?
Yes.
My plan was and is to create a Boost.Process version which works reliably today as I need to manage child processes in a commercial software (that was the reason why I picked up Boost.Process at all). That's why I concentrated on stabilizing code and testing everything.
Understood.
If you plan to continue to play around with the design (like dropping classes like posix_context and win32_context) I think it's a good idea to do this in a different version. I wouldn't mind if someone takes over my Boost.Process version (feel free to copy the implementation of various functions if you want, Ilya).
Thank a lot! Feel free to do the same.
I just need versions which are safe to use in a commercial project. From what I've seen your Boost.Process version wouldn't compile for example in MSVC if Unicode is used?
I have not tried yet. I'll think more about i18n later.
Regarding future development: I plan to improve support for asynchronous I/O. I'm also interested in integrating Boost.Interprocess and Boost.Process somehow (like using shared memory instead of streams for interprocess communication). What are your plans?
Right now I am concentrated on the basic interfaces and concepts. I'll try to release on a weekly basis (every Sunday, specifically). Stay tuned! P.S. Here is my bug report: instances of non-copyable file_handle class are used in standard containers, which is UB.
Boris
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Boris-14 wrote:
I've released Boost.Process 0.3. Here's the documentation and a link to download the zip archive:
Docs: http://www.highscore.de/boost/process/ Code: http://www.highscore.de/boost/process.zip
It's a header-only library and thus pretty easy to use: Just copy the files to your Boost directory.
The links for this no longer seem to be up, Boris, are you still working on this? -- View this message in context: http://www.nabble.com/Boost.Process-0.3-released-tp19604567p22943525.html Sent from the Boost - Dev mailing list archive at Nabble.com.

On Apr 8, 2009, at 1:37 AM, Raindog wrote:
Boris-14 wrote:
I've released Boost.Process 0.3. Here's the documentation and a link to download the zip archive:
Docs: http://www.highscore.de/boost/process/ Code: http://www.highscore.de/boost/process.zip
It's a header-only library and thus pretty easy to use: Just copy the files to your Boost directory.
The links for this no longer seem to be up, Boris, are you still working on this?
Boris has rearranged his website a couple of days/weeks ago thus most likely outdated the above links. I know that he is still working on the library though... Ciao, Andreas

On Wed, 08 Apr 2009 13:25:44 +0200, Andreas Masur <amasur@gmx.de> wrote:
On Apr 8, 2009, at 1:37 AM, Raindog wrote:
Boris-14 wrote:
I've released Boost.Process 0.3. Here's the documentation and a link to download the zip archive:
Docs: http://www.highscore.de/boost/process/ Code: http://www.highscore.de/boost/process.zip
It's a header-only library and thus pretty easy to use: Just copy the files to your Boost directory.
The links for this no longer seem to be up, Boris, are you still working on this?
Boris has rearranged his website a couple of days/weeks ago thus most likely outdated the above links. I know that he is still working on the library though...
Sorry, I broke the links when I updated my website. They should work again. (Thanks for your mail, Andreas!) Boris

Boris Schaeling wrote:
On Wed, 08 Apr 2009 13:25:44 +0200, Andreas Masur <amasur@gmx.de> wrote:
On Apr 8, 2009, at 1:37 AM, Raindog wrote:
Boris-14 wrote:
I've released Boost.Process 0.3. Here's the documentation and a link to download the zip archive:
Docs: http://www.highscore.de/boost/process/ Code: http://www.highscore.de/boost/process.zip
It's a header-only library and thus pretty easy to use: Just copy the files to your Boost directory.
The links for this no longer seem to be up, Boris, are you still working on this?
Boris has rearranged his website a couple of days/weeks ago thus most likely outdated the above links. I know that he is still working on the library though...
Sorry, I broke the links when I updated my website. They should work again. (Thanks for your mail, Andreas!)
Boris
Can we expect any more updates on this?

On Fri, 10 Apr 2009 01:56:57 +0200, Raindog <raindog@macrohmasheen.com> wrote:
[...]Can we expect any more updates on this?
Yes. I plan to improve support for asynchronous I/O and really need to look again at the big picture to see if there are some other areas where the library should be improved before it can be reviewed. Hopefully I've time in the coming weeks to work again on the library (if there are others who want to look at the big picture and help identifying weaknesses I'd appreciate it). Boris

On Mon, Sep 22, 2008 at 11:35 AM, Boris <boriss@web.de> wrote:
I've released Boost.Process 0.3. Here's the documentation and a link to download the zip archive:
Hello, Thanks for your work on Boost.Process, I tried to use it under AIX and it failed to compile because of the use of WCOREDUMP in posix_status.hpp. This macro isn't a POSIX macro and isn't implemented under all Unix implementations, so I enclosed it between #ifdef WCOREDUMP #endif as suggested in the Linux manpage wait(2) and always return false when the macro doesn't exist. bool dumped_core() const { BOOST_ASSERT(signaled()); #ifdef WCOREDUMP return WCOREDUMP(flags_); #else return false; #endif } Could you incorporate this change to you source for the next version please ? Thanks, Étienne

On Fri, 10 Apr 2009 13:56:49 +0200, Etienne PIERRE <e.ti.n.pierre@gmail.com> wrote:
[...]Thanks for your work on Boost.Process, I tried to use it under AIX and it failed to compile because of the use of WCOREDUMP in posix_status.hpp. This macro isn't a POSIX macro and isn't implemented under all Unix implementations, so I enclosed it between #ifdef WCOREDUMP #endif as suggested in the Linux manpage wait(2) and always return false when the macro doesn't exist.
bool dumped_core() const { BOOST_ASSERT(signaled()); #ifdef WCOREDUMP return WCOREDUMP(flags_); #else return false; #endif }
Could you incorporate this change to you source for the next version please ?
Thanks for the patch! By the way, did you try to run the tests? I know that the tests were passed successfully on Windows (VC++), Cygwin (g++), Solaris (g++ and Sun C++) and Linux (g++) and would like to add AIX to the list. :) A description of how to run the tests is here: http://article.gmane.org/gmane.comp.lib.boost.devel/180285 Boris
participants (9)
-
Andreas Masur
-
Boris
-
Boris Schaeling
-
Etienne PIERRE
-
Ilya Sokolov
-
Ingo.Loehken@boc-eu.com
-
Janek Kozicki
-
Raindog
-
Steven Watanabe