diff options
-rw-r--r-- | src/threadengines/threadengine_win32.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/threadengines/threadengine_win32.cpp b/src/threadengines/threadengine_win32.cpp index e426fe373..792445b3e 100644 --- a/src/threadengines/threadengine_win32.cpp +++ b/src/threadengines/threadengine_win32.cpp @@ -22,18 +22,21 @@ Win32ThreadEngine::Win32ThreadEngine(InspIRCd* Instance) : ThreadEngine(Instance void Win32ThreadEngine::Create(Thread* thread_to_init) { + Mutex(true); HANDLE* MyThread = new HANDLE; DWORD ThreadId = 0; if (!(*MyThread = CreateThread(NULL,0,Win32ThreadEngine::Entry,this,0,&ThreadId))) { delete MyThread; + Mutex(false); throw CoreException(std::string("Unable to reate new Win32ThreadEngine: ") + dlerror()); } NewThread = thread_to_init; NewThread->Creator = this; NewThread->Extend("winthread", MyThread); + Mutex(false); } Win32ThreadEngine::~Win32ThreadEngine() |