
On 4/29/05, John Maddock <john@johnmaddock.co.uk> wrote:
Here's are patches which fix the memory corruption problems of test_mutex and test_read_write_mutex on SunPRO.
Any progres on getting these patches applied? My daily test run is still being held up by these two broken tests. They do not exit, at least not in anything resembling a reasonable amount of time (hours).
And as a point of principle: we should really apply similar patches to all of the thread test programs that use multiple threads, and Boost.Test (presumably all of them?).
Here's a quick analysis of the Boost.Thread test programs and their usage of Boost.Test: * test_barrier.cpp - OK. Doesn't use BOOST_CHECK until after all threads have been joined * test_condition.cpp - looks like it needs work, though this test never hangs/fails for me so perhaps my analysis is incorrect. * test_mutex.cpp - Patched (via util.inl), but I think I still see more potential problems. * test_once.cpp - OK. See test_barrier.cpp * test_read_write_mutex.cpp - patched to not use BOOST_CHECK. Calls BOOST_ERROR if tests fail. * test_thread.cpp - OK. only one thread should be active at a time * test_tss.cpp - OK. Uses a mutex to protect calls to BOOST_CHECK and there is a comment musing on the lack of thread-safety there. * test_xtime.cpp: OK. Doesn't spawn threads. So basically, I'm slightly concerned about test_mutex.cpp (after my patch) and test_condition.cpp but I think other than that the rest of the test programs are OK. -- Caleb Epstein caleb dot epstein at gmail dot com