~kris/9p

9hist

7b1dbfc2de484d1aed8fd8681eb9f17052d89aba — David du Colombier 24 years ago 039ea72
Plan 9 from Bell Labs 2002-04-23
3 files changed, 19 insertions(+), 22 deletions(-)

M boot/bootauth.c
M pc/trap.c
M port/qlock.c
M boot/bootauth.c => boot/bootauth.c +1 -1
@@ 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;
	}

M pc/trap.c => pc/trap.c +0 -1
@@ 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){

M port/qlock.c => port/qlock.c +18 -20
@@ 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();
}