From 9b6337bec9b8adfcb1746c76be752334869ac997 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 25 Mar 2009 11:37:06 +0000 Subject: start of fix for bug #805 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11260 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/threadengine.h | 18 +++++++----------- include/threadengines/threadengine_win32.h | 4 ++-- 2 files changed, 9 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/threadengine.h b/include/threadengine.h index e1400eb95..c11f2d817 100644 --- a/include/threadengine.h +++ b/include/threadengine.h @@ -20,6 +20,12 @@ #include "inspircd_config.h" #include "base.h" +#ifdef WINDOWS +#include "threadengines/threadengine_win32.h" +#endif + +class ThreadData; + /** Derive from this class to implement your own threaded sections of * code. Be sure to keep your code thread-safe and not prone to deadlocks * and race conditions if you MUST use threading! @@ -49,17 +55,7 @@ class CoreExport Thread : public Extensible { } - /** If this thread has a Creator set, call it to - * free the thread - */ - virtual ~Thread() - { - if (state) - { - state->FreeThread(this); - delete state; - } - } + virtual ~Thread(); /** Override this method to put your actual * threaded code here. diff --git a/include/threadengines/threadengine_win32.h b/include/threadengines/threadengine_win32.h index 0fc9b27bc..6bd1c2c00 100644 --- a/include/threadengines/threadengine_win32.h +++ b/include/threadengines/threadengine_win32.h @@ -77,7 +77,7 @@ class CoreExport Mutex private: CRITICAL_SECTION wutex; public: - Win32Mutex() + Mutex() { InitializeCriticalSection(&wutex); } @@ -89,7 +89,7 @@ class CoreExport Mutex { LeaveCriticalSection(&wutex); } - ~Win32Mutex() + ~Mutex() { DeleteCriticalSection(&wutex); } -- cgit v1.2.3