Boost C++ Libraries: Ticket #3664: SIGCHLD always considered fatal error https://svn.boost.org/trac10/ticket/3664 <p> Under *nix platforms, unless system error handling is disabled using e.g. "BOOST_TEST_CATCH_SYSTEM_ERRORS=no" in the environment, an exiting child process is always considered a fatal error, no matter what the reason for the child's exit is. </p> <p> Currently, the only way to disable this behaviour without simultaneously disable the handling of all system events is to recompile the library with the BOOST_TEST_IGNORE_SIGCHLD preprocessor macro defined. This makes it impossible to write tests that starts/stops child processes and attempts to inspect their exit codes using the vanilla build of Boost.Test. </p> <p> I suggest that the handling of SIGCHLD should be possible to enable/disable in the same way as the other run-time parameters, with a default value that disables handling of SIGCHLD (which is run-time compatible with older Boost releases). </p> <p> Some applicable references: </p> <p> <a class="ext-link" href="http://thread.gmane.org/gmane.comp.lib.boost.user/40172"><span class="icon">​</span>http://thread.gmane.org/gmane.comp.lib.boost.user/40172</a> <a class="ext-link" href="http://thread.gmane.org/gmane.comp.lib.boost.user/46504"><span class="icon">​</span>http://thread.gmane.org/gmane.comp.lib.boost.user/46504</a> <a class="ext-link" href="http://thread.gmane.org/gmane.comp.lib.boost.user/52991"><span class="icon">​</span>http://thread.gmane.org/gmane.comp.lib.boost.user/52991</a> </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3664 Trac 1.4.3 Gennadiy Rozental Sat, 28 Nov 2009 10:25:10 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3664#comment:1 https://svn.boost.org/trac10/ticket/3664#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/57995" title="Avoid catching SIGCHILD altogether. One should exanine system call ...">[57995]</a>) Avoid catching SIGCHILD altogether. One should exanine system call exit code instead. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3664" title="#3664: Bugs: SIGCHLD always considered fatal error (closed: fixed)">#3664</a> </p> Ticket chagharu Tue, 20 Sep 2011 17:41:04 GMT <link>https://svn.boost.org/trac10/ticket/3664#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3664#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/3664#comment:1" title="Comment 1">rogeeff</a>: </p> <blockquote class="citation"> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/57995" title="Avoid catching SIGCHILD altogether. One should exanine system call ...">[57995]</a>) Avoid catching SIGCHILD altogether. One should exanine system call exit code instead. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3664" title="#3664: Bugs: SIGCHLD always considered fatal error (closed: fixed)">#3664</a> </p> </blockquote> <p> This fix does not appear to have been included in the trunk yet. Is this an oversight, or is there a reason this has not been included? I'm happy to work on providing a unit test for this if necessary, since this affects my current project... </p> <p> Dave </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Raffi Enficiaud</dc:creator> <pubDate>Tue, 07 Jul 2015 08:08:02 GMT</pubDate> <title>milestone changed https://svn.boost.org/trac10/ticket/3664#comment:3 https://svn.boost.org/trac10/ticket/3664#comment:3 <ul> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.42.0</span> → <span class="trac-field-new">Boost 1.59.0</span> </li> </ul> Ticket