Blame


1 d0a596c5 2011-10-12 rsc /*
2 d0a596c5 2011-10-12 rsc * I am too ignorant to know if Cocoa and Libthread
3 d0a596c5 2011-10-12 rsc * can coexist: if I try to include thread.h, now
4 d0a596c5 2011-10-12 rsc * that Devdraw uses Cocoa's threads (and timers), it
5 d0a596c5 2011-10-12 rsc * crashes immediately; when Devdraw was using
6 d0a596c5 2011-10-12 rsc * proccreate(), it could run a little while before to
7 d0a596c5 2011-10-12 rsc * crash; the origin of those crashes is hard to
8 d0a596c5 2011-10-12 rsc * ascertain, because other programs using Libthread
9 d0a596c5 2011-10-12 rsc * (such as 9term, Acme, Plumber, and Sam) currently
10 d0a596c5 2011-10-12 rsc * don't run when compiled with Xcode 4.1.
11 d0a596c5 2011-10-12 rsc */
12 d0a596c5 2011-10-12 rsc //#define TRY_LIBTHREAD
13 a287dbab 2011-09-06 rsc
14 d0a596c5 2011-10-12 rsc #ifdef TRY_LIBTHREAD
15 d0a596c5 2011-10-12 rsc #include <thread.h>
16 d0a596c5 2011-10-12 rsc #else
17 d0a596c5 2011-10-12 rsc #define QLock DQLock
18 d0a596c5 2011-10-12 rsc #define qlock dqlock
19 d0a596c5 2011-10-12 rsc #define qunlock dqunlock
20 d0a596c5 2011-10-12 rsc #define threadexitsall exits
21 d0a596c5 2011-10-12 rsc #define threadmain main
22 a287dbab 2011-09-06 rsc
23 d0a596c5 2011-10-12 rsc typedef struct QLock QLock;
24 a287dbab 2011-09-06 rsc
25 d0a596c5 2011-10-12 rsc struct QLock
26 d0a596c5 2011-10-12 rsc {
27 d0a596c5 2011-10-12 rsc int init;
28 d0a596c5 2011-10-12 rsc pthread_mutex_t m;
29 d0a596c5 2011-10-12 rsc };
30 d0a596c5 2011-10-12 rsc
31 d0a596c5 2011-10-12 rsc void qlock(QLock*);
32 d0a596c5 2011-10-12 rsc void qunlock(QLock*);
33 d0a596c5 2011-10-12 rsc #endif