summaryrefslogtreecommitdiff
path: root/include/threadengines/threadengine_pthread.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/threadengines/threadengine_pthread.h')
-rw-r--r--include/threadengines/threadengine_pthread.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/threadengines/threadengine_pthread.h b/include/threadengines/threadengine_pthread.h
index 2aba4cb15..bad263d18 100644
--- a/include/threadengines/threadengine_pthread.h
+++ b/include/threadengines/threadengine_pthread.h
@@ -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