18 #ifndef itkThreadSupport_h
19 #define itkThreadSupport_h
27 #ifdef ITK_USE_WIN32_THREADS
29 # define _WIN32_WINNT 0x0501 // TBB 4.4 requires WinXP (0x0501 or greater)
33 #if defined(ITK_USE_PTHREADS)
35 #elif defined(ITK_USE_WIN32_THREADS)
39 #include "itkConfigure.h"
46 #if defined(ITK_USE_PTHREADS)
52 # if !defined(ITK_FUTURE_LEGACY_REMOVE)
61 #elif defined(ITK_USE_WIN32_THREADS)
68 # if !defined(ITK_FUTURE_LEGACY_REMOVE)
75 # define ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::ITK_THREAD_RETURN_TYPE __stdcall
83 # if !defined(ITK_FUTURE_LEGACY_REMOVE)
87 # define ITK_THREAD_RETURN_DEFAULT_VALUE
96 #if defined(ITK_USE_PTHREADS)
97 pthread_cond_t m_ConditionVariable;
98 #elif defined(ITK_USE_WIN32_THREADS)
99 int m_NumberOfWaiters;
100 CRITICAL_SECTION m_NumberOfWaitersLock;
105 HANDLE m_WaitersAreDone;
123 #if defined(ITK_USE_PTHREADS)
126 #elif defined(ITK_USE_WIN32_THREADS)
133 #if !defined(ITK_FUTURE_LEGACY_REMOVE)
135 using itk::ITK_DEFAULT_THREAD_ID;