diff options
author | aiju <aiju@phicode.de> | 2011-08-19 19:33:36 +0200 |
---|---|---|
committer | aiju <aiju@phicode.de> | 2011-08-19 19:33:36 +0200 |
commit | 0a0435dbc128705e1e4e3c1e2d45f686485d1dcd (patch) | |
tree | 48a1783a27bf677a1a774adb7260196e398418f7 /sys/src/lib9p | |
parent | 9574793fc7c30c20bd544ee025f44bdd7bb72fd5 (diff) |
lib9p reqqueue: more cleaning
Diffstat (limited to 'sys/src/lib9p')
-rw-r--r-- | sys/src/lib9p/queue.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/src/lib9p/queue.c b/sys/src/lib9p/queue.c index 4b4bde15f..d77d4552e 100644 --- a/sys/src/lib9p/queue.c +++ b/sys/src/lib9p/queue.c @@ -18,7 +18,6 @@ _reqqueueproc(void *v) void (*f)(Req *); q = v; - *threaddata() = q; rfork(RFNOTEG); threadnotify(_reqqueuenote, 1); for(;;){ @@ -30,9 +29,7 @@ _reqqueueproc(void *v) r->qu.next->prev = r->qu.prev; r->qu.prev->next = r->qu.next; f = r->qu.f; - qlock(&r->lk); memset(&r->qu, 0, sizeof(r->qu)); - qunlock(&r->lk); q->cur = r; qunlock(q); f(r); @@ -49,7 +46,6 @@ reqqueuecreate(void) q->l = q; q->next = q->prev = q; q->pid = threadpid(proccreate(_reqqueueproc, q, mainstacksize)); - print("%d\n", q->pid); return q; } @@ -62,7 +58,7 @@ reqqueuepush(Reqqueue *q, Req *r, void (*f)(Req *)) r->qu.prev = q->prev; q->prev->next = &r->qu; q->prev = &r->qu; - rwakeupall(q); + rwakeup(q); qunlock(q); } @@ -78,9 +74,7 @@ reqqueueflush(Reqqueue *q, Req *r) r->qu.next->prev = r->qu.prev; r->qu.prev->next = r->qu.next; } - qlock(&r->lk); memset(&r->qu, 0, sizeof(r->qu)); - qunlock(&r->lk); qunlock(q); respond(r, "interrupted"); } |