18 #ifndef __itkThreadSupport_h
19 #define __itkThreadSupport_h
26 #ifdef ITK_USE_WIN32_THREADS
28 #define _WIN32_WINNT 0x0400
31 #if defined(ITK_USE_PTHREADS)
33 #elif defined(ITK_USE_WIN32_THREADS)
43 #if defined(ITK_USE_PTHREADS)
44 #define ITK_MAX_THREADS 128
47 typedef void *( * ThreadFunctionType )(
void *);
49 #define ITK_THREAD_RETURN_VALUE NULL
50 #define ITK_THREAD_RETURN_TYPE void *
53 #elif defined(ITK_USE_WIN32_THREADS)
55 #define ITK_MAX_THREADS 128
60 #define ITK_THREAD_RETURN_VALUE 0
61 #define ITK_THREAD_RETURN_TYPE DWORD __stdcall
65 #define ITK_MAX_THREADS 1
70 #define ITK_THREAD_RETURN_VALUE
71 #define ITK_THREAD_RETURN_TYPE void
77 #if defined(ITK_USE_PTHREADS)
79 pthread_cond_t m_ConditionVariable;
80 } ConditionVariableType;
81 #elif defined(ITK_USE_WIN32_THREADS)
83 int m_NumberOfWaiters;
84 CRITICAL_SECTION m_NumberOfWaitersLock;
89 HANDLE m_WaitersAreDone;
97 } ConditionVariableType;