Subject: Re: [boost] [Boost-users] Subject: Formal Review of Proposed Boost.Process library starts tomorrow
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-02-07 13:22:24
Review part 1, documentation:
* Introduction: eg. should be e.g.
since the argument is the path to the file, why
don't you take a boost::path, instead of a string?
* It seems like redirecting a stream to a file should
be supported. Maybe it can be done with inherit,
but it isn't immediately obvious and I'd rather
not deal with handle::native_type at all.
* There are pistream and postream. What about
piostream for completeness.
* Why do you have to pass a native handle to
pipe's constructor. Can't it be overloaded
to take a handle?
* "On POSIX systems you must use the macros defined
in sys/wait.h to interpret exit codes."
This forces me to use #ifdefs in my code. Isn't
there a way to abstract this better? At least
you could wrap the macros and have a trivial
implementation for windows (WIFEXITED -> true)
* context::setup: The reference specifies boost::function< void()>,
but this is obviously only true for posix. It should
describe the two different behaviors.
* std::string context::work_dir; boost::path?
* boost::iostreams has a file_descriptor class
that is very similar to handle.
* What is the behavior of find_executable_in_path W.R.T.
extensions. On windows, does it use PATHEXT?
I'd like to see this spelled out explicitly.
* What about file associations/#!xxx for create_child?
i.e. can I run create_child("script.pl") or do I need
to use shell? I can live with it either way, but
the reference needs to specify it.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk