summaryrefslogtreecommitdiff
path: root/sys/src/9/port/qlock.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2012-01-09 21:18:03 +0100
committercinap_lenrek <cinap_lenrek@centraldogma>2012-01-09 21:18:03 +0100
commit85fd5bf58dfc4e09559837f61bb7c92e20dedd6d (patch)
tree3613a4f83975ca214f378258b512159d06493e1d /sys/src/9/port/qlock.c
parent7cd268a78340f4a0bf92415dd5c87abb59830493 (diff)
eqlock: dont rely on notepending flag when detecting eqlock interruption
Diffstat (limited to 'sys/src/9/port/qlock.c')
-rw-r--r--sys/src/9/port/qlock.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/src/9/port/qlock.c b/sys/src/9/port/qlock.c
index ece5488b1..eeb3143f9 100644
--- a/sys/src/9/port/qlock.c
+++ b/sys/src/9/port/qlock.c
@@ -54,10 +54,9 @@ eqlock(QLock *q)
up->state = Queueing;
unlock(&q->use);
sched();
- if(up->notepending){
- up->notepending = 0;
- if(up->eql == q)
- qunlock(q);
+ if(up->eql == 0){
+ if(up->notepending)
+ up->notepending = 0;
error(Eintr);
}
}