mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
devdraw: more fixes (thanks David Jeannot)
This commit is contained in:
parent
210d461c87
commit
d0a596c5c8
5 changed files with 372 additions and 313 deletions
|
@ -33,7 +33,7 @@ See
|
|||
.IR getsnarf (3)
|
||||
for more details.
|
||||
.SH SOURCE
|
||||
.B \*9/src/cmd/snarfer.c
|
||||
.B \*9/src/cmd/snarfer
|
||||
.SH SEE ALSO
|
||||
Unix's \fIxclipboard\fR(1),
|
||||
.IR getsnarf (3)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -78,8 +78,6 @@ servep9p(void)
|
|||
|
||||
fmtinstall('W', drawfcallfmt);
|
||||
|
||||
// notify(bell);
|
||||
|
||||
mbuf = nil;
|
||||
nmbuf = 0;
|
||||
while((n = read(3, buf, 4)) == 4){
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#include <libc.h>
|
||||
#include "cocoa-thread.h"
|
||||
|
||||
#ifndef TRY_LIBTHREAD
|
||||
|
||||
static pthread_mutex_t initlock = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
void
|
||||
|
@ -23,3 +25,4 @@ qunlock(QLock *q)
|
|||
{
|
||||
pthread_mutex_unlock(&q->m);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue