Blob
1 #include <u.h>2 #include <libc.h>3 #include "cocoa-thread.h"5 #ifndef TRY_LIBTHREAD7 static pthread_mutex_t initlock = PTHREAD_MUTEX_INITIALIZER;9 void10 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 void24 qunlock(QLock *q)25 {26 pthread_mutex_unlock(&q->m);27 }28 #endif