19 #if !defined(__TBB_show_deprecation_message_task_scheduler_init_H) && defined(__TBB_show_deprecated_header_message)
20 #define __TBB_show_deprecation_message_task_scheduler_init_H
21 #pragma message("TBB Warning: tbb/task_scheduler_init.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.")
24 #if defined(__TBB_show_deprecated_header_message)
25 #undef __TBB_show_deprecated_header_message
28 #ifndef __TBB_task_scheduler_init_H
29 #define __TBB_task_scheduler_init_H
31 #define __TBB_task_scheduler_init_H_include_area
36 #if __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE
68 propagation_mode_exact = 1u,
69 propagation_mode_captured = 2u,
70 propagation_mode_mask = propagation_mode_exact | propagation_mode_captured
76 bool internal_terminate(
bool blocking );
77 #if __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE
83 static const int automatic = -1;
86 static const int deferred = -2;
109 #if __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE
110 #if TBB_USE_EXCEPTIONS
111 void blocking_terminate() {
113 internal_blocking_terminate(
true );
116 bool blocking_terminate(
const std::nothrow_t&)
__TBB_NOEXCEPT(
true) {
118 return internal_blocking_terminate(
false );
120 #endif // __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE
132 __TBB_ASSERT( !(thread_stack_size & propagation_mode_mask),
"Requested stack size is not aligned" );
133 #if TBB_USE_EXCEPTIONS
136 initialize( number_of_threads, thread_stack_size );
172 #undef __TBB_task_scheduler_init_H_include_area