
Boris Schaeling wrote:
On Wed, 04 Nov 2009 13:55:18 +0100, Johan Nilsson
wrote: Hi,
I'm in progress of updating some projects to use Boost 1.40 (upgrading from 1.34.1).
Everything now works fine under Windows, but under Linux there are issues with running unit tests that spawns and control child processes. My tests now report fatal errors and stops responding. Searching the archives I see several references to a problem with SIGCHLD, but no fix seems to have been issued. [...]
You can define BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE or BOOST_TEST_IGNORE_SIGCHLD for Boost.Test which as far as I remember must be rebuilt then. :-/
Thanks for the pointer. I was hoping for a provided run-time solution, which would have been the best. If stuck with a compile-time solution, it would IMHO have been more lenient having to define e.g. BOOST_TEST_HANDLE_NON_ZERO_CHILD_CODE and BOOST_TEST_HANDLE_SIGCHLD rather than having this new behaviour by default. I really can't currently imagine a scenario where I would want this enabled. Also, if I would want this enabled I definitely would want to have some control over the behaviour. Is it possible to somehow handle/catch these fatal errors explicitly in my code? I guess I could explicitly override the SIGCHLD stuff when running under Linux, but it would be nice not having to add more platform-specific code. / Johan