Index: pthread/thread.cpp =================================================================== --- pthread/thread.cpp (revision 61071) +++ pthread/thread.cpp (working copy) @@ -116,6 +116,9 @@ boost::detail::thread_data_ptr thread_info = static_cast(param)->self; thread_info->self.reset(); detail::set_current_thread_data(thread_info.get()); +#ifdef BOOST_NO_EXCEPTIONS + thread_info->run(); +#else try { thread_info->run(); @@ -129,6 +132,7 @@ // { // std::terminate(); // } +#endif detail::tls_destructor(thread_info.get()); detail::set_current_thread_data(0); @@ -462,6 +466,7 @@ void interruption_point() { +#ifndef BOOST_NO_EXCEPTIONS boost::detail::thread_data_base* const thread_info=detail::get_current_thread_data(); if(thread_info && thread_info->interrupt_enabled) { @@ -472,6 +477,7 @@ throw thread_interrupted(); } } +#endif } bool interruption_enabled()