
I've taken the liberty of applying the patch at the end of this post to thread.cpp. When I was doing some work with boost::thread, I had to remove the catch(...) in my local copy because testing was a nightmare. Since then, I've been getting the M before thread.cpp every time I did a cvs update. The discussion about this catch(...) clause didn't end with a definitive decision one way or the other, so... let me be the one who actually does something about it. :-) Index: thread.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/thread/src/thread.cpp,v retrieving revision 1.21 diff -u -r1.21 thread.cpp --- thread.cpp 14 Jul 2005 15:46:50 -0000 1.21 +++ thread.cpp 6 Jul 2006 13:39:48 -0000 @@ -105,7 +105,7 @@ static OSStatus thread_proxy(void* param) #endif { - try +// try { thread_param* p = static_cast<thread_param*>(param); boost::function0<void> threadfunc = p->m_threadfunc; @@ -115,12 +115,12 @@ on_thread_exit(); #endif } - catch (...) - { -#if defined(BOOST_HAS_WINTHREADS) - on_thread_exit(); -#endif - } +// catch (...) +// { +//#if defined(BOOST_HAS_WINTHREADS) +// on_thread_exit(); +//#endif +// } #if defined(BOOST_HAS_MPTASKS) ::boost::detail::thread_cleanup(); #endif