Ticket #2100: boost_thread_lib_src_20100507.diff
File boost_thread_lib_src_20100507.diff, 2.3 KB (added by , 12 years ago) |
---|
-
win32/thread.cpp
163 163 { 164 164 detail::thread_data_base* const thread_info(reinterpret_cast<detail::thread_data_base*>(param)); 165 165 set_current_thread_data(thread_info); 166 #ifndef BOOST_NO_EXCEPTIONS 166 167 try 168 #endif 167 169 { 168 170 thread_info->run(); 169 171 } 172 #ifndef BOOST_NO_EXCEPTIONS 170 173 catch(thread_interrupted const&) 171 174 { 172 175 } 176 #endif 173 177 // Removed as it stops the debugger identifying the cause of the exception 174 178 // Unhandled exceptions still cause the application to terminate 175 179 // catch(...) -
win32/tss_pe.cpp
83 83 84 84 #include <stdlib.h> 85 85 86 #ifndef WIN32_LEAN_AND_MEAN 86 87 #define WIN32_LEAN_AND_MEAN 88 #endif 89 87 90 #include <windows.h> 88 91 89 92 //Definitions required by implementation -
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()