diff options
Diffstat (limited to 'src/cmd/devdraw/cocoa-thread.h')
-rw-r--r-- | src/cmd/devdraw/cocoa-thread.h | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/src/cmd/devdraw/cocoa-thread.h b/src/cmd/devdraw/cocoa-thread.h index 925c4e0e..c2f3e982 100644 --- a/src/cmd/devdraw/cocoa-thread.h +++ b/src/cmd/devdraw/cocoa-thread.h @@ -1,14 +1,33 @@ -#define QLock DQLock -#define qlock dqlock -#define qunlock dqunlock +/* + * 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 -typedef struct QLock QLock; +#ifdef TRY_LIBTHREAD + #include <thread.h> +#else + #define QLock DQLock + #define qlock dqlock + #define qunlock dqunlock + #define threadexitsall exits + #define threadmain main -struct QLock -{ - pthread_mutex_t m; - int init; -}; + typedef struct QLock QLock; -void qlock(QLock*); -void qunlock(QLock*); + struct QLock + { + int init; + pthread_mutex_t m; + }; + + void qlock(QLock*); + void qunlock(QLock*); +#endif |