Re: [Boost-bugs] [Boost C++ Libraries] #994: BJam output with parallel builds jumbled.

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #994: BJam output with parallel builds jumbled.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2007-05-29 09:41:56


#994: BJam output with parallel builds jumbled.
-------------------------------+--------------------------------------------
  Reporter: grafik | Owner: grafik
      Type: Bugs | Status: new
 Milestone: Boost.Jam 3.1.15 | Component: Building Boost
   Version: Boost.Jam 3.1.14 | Severity: Problem
Resolution: | Keywords:
-------------------------------+--------------------------------------------
Comment (by Rob.Lievaart_at_[hidden]):

 Hi,

 popen won't do the trick, as it only catches stdout en not stderr(AFAIK).
 You will
 need to create your own pipes for stdin,stoud and stderr, and after the
 fork, move
 these to the in/out/err filedescriptors before running execvp. (and close
 any
 other open fds). Since you would do more then call exec after the fork,
 vfork can no longer be used.

 Then in the parent you need to have some kind of select loop waiting on
 the fd's for all children, and reading and collecting the output from
 them. And when the process has finished you can dump that to the screen.
 (waitexec might be the place to do that.

 And on Win32 with create process, it works, eh, different. Don't know the
 details, for that, but createprocess is sort of a combination of
 fork/exec, and you can pass handles for in/out/error to the function.

 Don't know about any other platforms.

 Rob Lievaart

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/994#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.


This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:55 UTC