]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/threadengines/threadengine_win32.cpp
Rework /MAP output to not be overly wide
[user/henk/code/inspircd.git] / src / threadengines / threadengine_win32.cpp
index 5666113671fb6d5a56e13912dda73fc78cd4d7d3..562c65dd49cb5a6e0ed4361ca1240eb236a58a9c 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -86,3 +86,29 @@ void Win32ThreadEngine::FreeThread(Thread* thread)
 }
 
 
+MutexFactory::MutexFactory(InspIRCd* Instance) : ServerInstance(Instance)
+{
+}
+
+Mutex* MutexFactory::CreateMutex()
+{
+       return new Win32Mutex(this->ServerInstance);
+}
+
+Win32Mutex::Win32Mutex(InspIRCd* Instance) : Mutex(Instance)
+{
+       InitializeCriticalSection(&wutex);
+}
+
+Win32Mutex::~Win32Mutex()
+{
+       DeleteCriticalSection(&wutex);
+}
+
+void Win32Mutex::Enable(bool enable)
+{
+       if (enable)
+               EnterCriticalSection(&wutex);
+       else
+               LeaveCriticalSection(&wutex);
+}
\ No newline at end of file