diff options
author | cinap_lenrek <cinap_lenrek@centraldogma> | 2012-01-09 21:18:03 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2012-01-09 21:18:03 +0100 |
commit | 85fd5bf58dfc4e09559837f61bb7c92e20dedd6d (patch) | |
tree | 3613a4f83975ca214f378258b512159d06493e1d /sys/src/9/port/qlock.c | |
parent | 7cd268a78340f4a0bf92415dd5c87abb59830493 (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.c | 7 |
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); } } |