]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/threadengines/threadengine_pthread.h
Migrate SSL metadata and visible information (/whois line) to single module
[user/henk/code/inspircd.git] / include / threadengines / threadengine_pthread.h
index 2aba4cb159c95225a54ebc82594ccadf39faa58d..bad263d1845fd7e37c51a8645da5db555a5ea56d 100644 (file)
@@ -107,4 +107,50 @@ class CoreExport Mutex
        }
 };
 
+class ThreadQueueData
+{
+       pthread_mutex_t mutex;
+       pthread_cond_t cond;
+ public:
+       ThreadQueueData()
+       {
+               pthread_mutex_init(&mutex, NULL);
+               pthread_cond_init(&cond, NULL);
+       }
+
+       ~ThreadQueueData()
+       {
+               pthread_mutex_destroy(&mutex);
+               pthread_cond_destroy(&cond);
+       }
+
+       void Lock()
+       {
+               pthread_mutex_lock(&mutex);
+       }
+
+       void Unlock()
+       {
+               pthread_mutex_unlock(&mutex);
+       }
+
+       void Wakeup()
+       {
+               pthread_cond_signal(&cond);
+       }
+
+       void Wait()
+       {
+               pthread_cond_wait(&cond, &mutex);
+       }
+};
+
+class ThreadSignalSocket;
+class ThreadSignalData
+{
+ public:
+       ThreadSignalSocket* sock;
+};
+
+
 #endif