]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/threadengines/threadengine_pthread.h
MutexEngine -> MutexFactory, more sensible name
[user/henk/code/inspircd.git] / include / threadengines / threadengine_pthread.h
index e8f7a4087f89a21f6bad2fe18364d1614206964e..76548c252272253d1f7bfe5b998e44e39be96ffb 100644 (file)
@@ -38,14 +38,39 @@ class CoreExport PThreadEngine : public ThreadEngine
        void Create(Thread* thread_to_init);
 
        void FreeThread(Thread* thread);
+
+       const std::string GetName()
+       {
+               return "posix-thread";
+       }
 };
 
-class ThreadEngineFactory : public classbase
+class CoreExport ThreadEngineFactory : public classbase
 {
+ public:
        ThreadEngine* Create(InspIRCd* ServerInstance)
        {
                return new PThreadEngine(ServerInstance);
        }
 };
 
+class CoreExport PosixMutex : public Mutex
+{
+ private:
+       pthread_mutex_t putex;
+ public:
+       PosixMutex(InspIRCd* Instance);
+       virtual void Enable(bool enable);
+       ~PosixMutex();
+};
+
+class CoreExport MutexFactory : public Extensible
+{
+ protected:
+       InspIRCd* ServerInstance;
+ public:
+       MutexFactory(InspIRCd* Instance);
+       Mutex* CreateMutex();
+};
+
 #endif