21 #ifndef THREADENGINE_WIN32_H
22 #define THREADENGINE_WIN32_H
24 #include "inspircd_config.h"
47 static DWORD WINAPI Entry(
void* parameter);
62 return "windows-thread";
70 void FreeThread(
Thread* toFree);
81 class CoreExport
Mutex
84 CRITICAL_SECTION wutex;
88 InitializeCriticalSection(&wutex);
92 EnterCriticalSection(&wutex);
96 LeaveCriticalSection(&wutex);
100 DeleteCriticalSection(&wutex);
106 CRITICAL_SECTION mutex;
111 event = CreateEvent(NULL,
false,
false, NULL);
113 throw CoreException(
"CreateEvent() failed in ThreadQueueData::ThreadQueueData()!");
114 InitializeCriticalSection(&mutex);
120 DeleteCriticalSection(&mutex);
125 EnterCriticalSection(&mutex);
130 LeaveCriticalSection(&mutex);
140 LeaveCriticalSection(&mutex);
141 WaitForSingleObject(event, INFINITE);
142 EnterCriticalSection(&mutex);