From 7b1dbfc2de484d1aed8fd8681eb9f17052d89aba Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 23 Apr 2002 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2002-04-23 --- boot/bootauth.c | 2 +- pc/trap.c | 1 - port/qlock.c | 38 ++++++++++++++++++-------------------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/boot/bootauth.c b/boot/bootauth.c index e7bd1b683b163d573c21b3b0f4431d089b8e1289..306195032bb3f41aceb43fc801c7a75b1d784857 100644 --- a/boot/bootauth.c +++ b/boot/bootauth.c @@ -13,7 +13,7 @@ authentication(int cpuflag) char *argv[16], **av; int ac; - if(access("/factotum", 05) < 0){ + if(access("/factotum", AEXEC) < 0){ glenda(); return; } diff --git a/pc/trap.c b/pc/trap.c index 99ce39904473ce36903930e0a4875967ee69cc88..c8d2bccd21f79faf99315ada6f736066f74aab97 100644 --- a/pc/trap.c +++ b/pc/trap.c @@ -287,7 +287,6 @@ trap(Ureg* ureg) */ if(ctl->isintr && ctl->irq != IrqTIMER && ctl->irq != IrqCLOCK) if(up && up->state == Running) - if(up->nlocks == 0) if(anyhigher()) if(up->preempted == 0) if(!active.exiting){ diff --git a/port/qlock.c b/port/qlock.c index 1bc6be651a38b26d39be82b5cae123ad96526d2e..c18482d870abcd1e53a32d0042e5bad5b7679d83 100644 --- a/port/qlock.c +++ b/port/qlock.c @@ -84,7 +84,7 @@ qunlock(QLock *q) void rlock(RWlock *q) { - Proc *p, *mp; + Proc *p; lock(&q->use); rwstats.rlock++; @@ -97,19 +97,18 @@ rlock(RWlock *q) rwstats.rlockq++; p = q->tail; - mp = up; - if(mp == nil) + if(up == nil) panic("rlock"); if(p == 0) - q->head = mp; + q->head = up; else - p->qnext = mp; - q->tail = mp; - mp->qnext = 0; - mp->state = QueueingR; + p->qnext = up; + q->tail = up; + up->qnext = 0; + up->state = QueueingR; unlock(&q->use); - if (isedf(mp)) - edfblock(mp); + if (isedf(up)) + edfblock(up); sched(); } @@ -139,7 +138,7 @@ runlock(RWlock *q) void wlock(RWlock *q) { - Proc *p, *mp; + Proc *p; lock(&q->use); rwstats.wlock++; @@ -155,19 +154,18 @@ wlock(RWlock *q) /* wait */ rwstats.wlockq++; p = q->tail; - mp = up; - if(mp == nil) + if(up == nil) panic("wlock"); if(p == nil) - q->head = mp; + q->head = up; else - p->qnext = mp; - q->tail = mp; - mp->qnext = 0; - mp->state = QueueingW; + p->qnext = up; + q->tail = up; + up->qnext = 0; + up->state = QueueingW; unlock(&q->use); - if (isedf(mp)) - edfblock(mp); + if (isedf(up)) + edfblock(up); sched(); }