Blob


1 #include <u.h>
2 #include <libc.h>
3 #include "cocoa-thread.h"
5 #ifndef TRY_LIBTHREAD
7 static pthread_mutex_t initlock = PTHREAD_MUTEX_INITIALIZER;
9 void
10 qlock(QLock *q)
11 {
12 if(q->init == 0){
13 pthread_mutex_lock(&initlock);
14 if(q->init == 0){
15 pthread_mutex_init(&q->m, nil);
16 q->init = 1;
17 }
18 pthread_mutex_unlock(&initlock);
19 }
20 pthread_mutex_lock(&q->m);
21 }
23 void
24 qunlock(QLock *q)
25 {
26 pthread_mutex_unlock(&q->m);
27 }
28 #endif