class CoreExport PThreadEngine : public ThreadEngine
{
+ private:
+
+ bool Mutex(bool enable);
+
public:
PThreadEngine(InspIRCd* Instance);
virtual ~PThreadEngine();
- bool Mutex(bool enable);
-
void Run();
static void* Entry(void* parameter);
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)
}
};
+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