summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/threadengines/threadengine_win32.cpp3
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()