| /* |
| * I am too ignorant to know if Cocoa and Libthread |
| * can coexist: if I try to include thread.h, now |
| * that Devdraw uses Cocoa's threads (and timers), it |
| * crashes immediately; when Devdraw was using |
| * proccreate(), it could run a little while before to |
| * crash; the origin of those crashes is hard to |
| * ascertain, because other programs using Libthread |
| * (such as 9term, Acme, Plumber, and Sam) currently |
| * don't run when compiled with Xcode 4.1. |
| */ |
| //#define TRY_LIBTHREAD |
| |
| #ifdef TRY_LIBTHREAD |
| #include <thread.h> |
| #else |
| #define QLock DQLock |
| #define qlock dqlock |
| #define qunlock dqunlock |
| #define threadexitsall exits |
| #define threadmain main |
| |
| typedef struct QLock QLock; |
| |
| struct QLock |
| { |
| int init; |
| pthread_mutex_t m; |
| }; |
| |
| void qlock(QLock*); |
| void qunlock(QLock*); |
| #endif |