Lines Matching refs:thread_detail

36   namespace thread_detail  namespace
66 volatile thread_detail::uintmax_atomic_t epoch;
91 volatile thread_detail::uintmax_atomic_t epoch;
109 namespace thread_detail namespace
127 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
128 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
129 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
130 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
134 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
143 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
145 thread_detail::decay_copy(boost::forward<Function>(f)), in call_once()
146 thread_detail::decay_copy(boost::forward<ArgTypes>(args))... in call_once()
152 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
156 flag.epoch=--thread_detail::once_global_epoch; in call_once()
157 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
163 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
167 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
175 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
176 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
177 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
178 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
182 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
191 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
197 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
201 flag.epoch=--thread_detail::once_global_epoch; in call_once()
202 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
208 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
212 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
219 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
220 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
221 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
222 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
226 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
235 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
241 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
245 flag.epoch=--thread_detail::once_global_epoch; in call_once()
246 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
252 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
256 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
262 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
263 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
264 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
265 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
269 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
278 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
284 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
288 flag.epoch=--thread_detail::once_global_epoch; in call_once()
289 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
295 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
299 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
306 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
307 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
308 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
309 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
313 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
322 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
328 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
332 flag.epoch=--thread_detail::once_global_epoch; in call_once()
333 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
339 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
343 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
350 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
351 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
352 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
353 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
357 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
366 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
372 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
376 flag.epoch=--thread_detail::once_global_epoch; in call_once()
377 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
383 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
387 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
394 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
395 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
396 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
397 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
401 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
410 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
412 thread_detail::decay_copy(boost::forward<Function>(f)), in call_once()
413 thread_detail::decay_copy(boost::forward<T1>(p1)) in call_once()
419 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
423 flag.epoch=--thread_detail::once_global_epoch; in call_once()
424 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
430 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
434 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
440 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
441 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
442 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
443 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
447 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
456 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
458 thread_detail::decay_copy(boost::forward<Function>(f)), in call_once()
459 thread_detail::decay_copy(boost::forward<T1>(p1)), in call_once()
460 thread_detail::decay_copy(boost::forward<T1>(p2)) in call_once()
466 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
470 flag.epoch=--thread_detail::once_global_epoch; in call_once()
471 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
477 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
481 this_thread_epoch=thread_detail::once_global_epoch; in call_once()
488 static thread_detail::uintmax_atomic_t const uninitialized_flag=BOOST_ONCE_INITIAL_FLAG_VALUE; in call_once()
489 static thread_detail::uintmax_atomic_t const being_initialized=uninitialized_flag+1; in call_once()
490 thread_detail::uintmax_atomic_t const epoch=flag.epoch; in call_once()
491 thread_detail::uintmax_atomic_t& this_thread_epoch=thread_detail::get_once_per_thread_epoch(); in call_once()
495 pthread::pthread_mutex_scoped_lock lk(&thread_detail::once_epoch_mutex); in call_once()
504 pthread::pthread_mutex_scoped_unlock relocker(&thread_detail::once_epoch_mutex); in call_once()
506 thread_detail::decay_copy(boost::forward<Function>(f)), in call_once()
507 thread_detail::decay_copy(boost::forward<T1>(p1)), in call_once()
508 thread_detail::decay_copy(boost::forward<T1>(p2)), in call_once()
509 thread_detail::decay_copy(boost::forward<T1>(p3)) in call_once()
515 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
519 flag.epoch=--thread_detail::once_global_epoch; in call_once()
520 BOOST_VERIFY(!pthread_cond_broadcast(&thread_detail::once_epoch_cv)); in call_once()
526 … BOOST_VERIFY(!pthread_cond_wait(&thread_detail::once_epoch_cv,&thread_detail::once_epoch_mutex)); in call_once()
530 this_thread_epoch=thread_detail::once_global_epoch; in call_once()