Boost logo

Boost :

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


AMDG

Review part 1, documentation:

* Introduction: eg. should be e.g.

* create_child:
   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.

In Christ,
Steven Watanabe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk