Ticket #2100: boost_thread_lib_src.diff
File boost_thread_lib_src.diff, 1.2 KB (added by , 13 years ago) |
---|
-
pthread/thread.cpp
116 116 boost::detail::thread_data_ptr thread_info = static_cast<boost::detail::thread_data_base*>(param)->self; 117 117 thread_info->self.reset(); 118 118 detail::set_current_thread_data(thread_info.get()); 119 #ifdef BOOST_NO_EXCEPTIONS 120 thread_info->run(); 121 #else 119 122 try 120 123 { 121 124 thread_info->run(); … … 129 132 // { 130 133 // std::terminate(); 131 134 // } 135 #endif 132 136 133 137 detail::tls_destructor(thread_info.get()); 134 138 detail::set_current_thread_data(0); … … 462 466 463 467 void interruption_point() 464 468 { 469 #ifndef BOOST_NO_EXCEPTIONS 465 470 boost::detail::thread_data_base* const thread_info=detail::get_current_thread_data(); 466 471 if(thread_info && thread_info->interrupt_enabled) 467 472 { … … 472 477 throw thread_interrupted(); 473 478 } 474 479 } 480 #endif 475 481 } 476 482 477 483 bool interruption_enabled()