
On Monday 09 June 2008 06:32 am, Anthony Williams wrote:
Sami Väisänen <sami.vaisanen@ardites.com> writes:
I have an application that forks a child process. The child exists only for a little while, (does dup2() calls to redirect stdout/stderr output into pipes and then makes a system() call) and then exits with exit(). However at exit I get an assertion failure in boost.thread library (the assertion happens in the child process)
../boost_1_34_1/libs/thread/src/condition.cpp:351:boost::detail::conditio
n_impl::~condition_impl(): Assertion `res == 0' That error indicates that the underlying condition variable couldn't be destroyed properly. Are you sure that your OS correctly clones condition variables when you do a fork?
pthreads (at least the version I have) requires mutexes to be re-initialized in the child process after a fork, as mentioned in the pthread_atfork man page. mmh, sounds like this would require me to track the mutexes in the
Frank Mori Hess wrote: parent process in order to be able to re-initialize them in the child process. I guess I must look for alternative ways for solving this problem. (ways that do not involve forking)
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost