18 #ifndef itkThreadSupport_h
19 #define itkThreadSupport_h
23 #include "itkConfigure.h"
29 #ifdef ITK_USE_WIN32_THREADS
31 # define _WIN32_WINNT 0x0501 // TBB 4.4 requires WinXP (0x0501 or greater)
35 #if defined(ITK_USE_PTHREADS)
37 #elif defined(ITK_USE_WIN32_THREADS)
47 #if defined(ITK_USE_PTHREADS)
53 # if !defined(ITK_FUTURE_LEGACY_REMOVE)
62 #elif defined(ITK_USE_WIN32_THREADS)
69 # if !defined(ITK_FUTURE_LEGACY_REMOVE)
76 # define ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::ITK_THREAD_RETURN_TYPE __stdcall
84 # if !defined(ITK_FUTURE_LEGACY_REMOVE)
88 # define ITK_THREAD_RETURN_DEFAULT_VALUE
97 #if defined(ITK_USE_PTHREADS)
98 pthread_cond_t m_ConditionVariable;
99 #elif defined(ITK_USE_WIN32_THREADS)
100 int m_NumberOfWaiters;
101 CRITICAL_SECTION m_NumberOfWaitersLock;
106 HANDLE m_WaitersAreDone;
124 #if defined(ITK_USE_PTHREADS)
127 #elif defined(ITK_USE_WIN32_THREADS)
134 #if !defined(ITK_FUTURE_LEGACY_REMOVE)
136 using itk::ITK_DEFAULT_THREAD_ID;