gallium: Thread condition variables.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Fri, 11 Apr 2008 03:11:14 +0000 (12:11 +0900)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Fri, 11 Apr 2008 03:18:06 +0000 (12:18 +0900)
src/gallium/include/pipe/p_thread.h

index 4325abc951edd93e6fe5e7a2b78db68024f3e348..af9150aafbdf7c871c5d751217f78bac0e57d9e2 100644 (file)
@@ -114,6 +114,26 @@ typedef pthread_mutex_t _glthread_Mutex;
 #define _glthread_UNLOCK_MUTEX(name) \
    (void) pthread_mutex_unlock(&(name))
 
+typedef pthread_cond_t _glthread_Cond;
+
+#define _glthread_DECLARE_STATIC_COND(name) \
+   static _glthread_Cond name = PTHREAD_COND_INITIALIZER
+
+#define _glthread_INIT_COND(cond)                      \
+   pthread_cond_init(&(cond), NULL)
+
+#define _glthread_DESTROY_COND(name) \
+   pthread_cond_destroy(&(name))
+
+#define _glthread_COND_WAIT(cond, mutex) \
+  pthread_cond_wait(&(cond), &(mutex))
+
+#define _glthread_COND_SIGNAL(cond) \
+  pthread_cond_signal(&(cond))
+
+#define _glthread_COND_BROADCAST(cond) \
+  pthread_cond_broadcast(&(cond))
+
 #endif /* PTHREADS */
 
 
@@ -273,6 +293,20 @@ typedef unsigned _glthread_Mutex;
 
 #define _glthread_UNLOCK_MUTEX(name)  (void) name
 
+typedef unsigned _glthread_Cond;
+
+#define _glthread_DECLARE_STATIC_COND(name) static _glthread_Cond name = 0
+
+#define _glthread_INIT_COND(name)  (void) name
+
+#define _glthread_DESTROY_COND(name)  (void) name
+
+#define _glthread_COND_WAIT(name, mutex)  (void) name
+
+#define _glthread_COND_SIGNAL(name)  (void) name
+
+#define _glthread_COND_BROADCAST(name)  (void) name
+
 #endif /* THREADS */