From 6fff4a5382b536b5345c90c0c72c2fae158b191f Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 28 Mar 1992 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1992-03-28 --- port/devlance.c | 4 ++-- port/devproc.c | 2 ++ port/proc.c | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/port/devlance.c b/port/devlance.c index 222daaac38c718b4c8302c35f94f4392c2e52e45..0e262a1ca8f1fffcdadf7d3fddc8adaf96e475ad 100644 --- a/port/devlance.c +++ b/port/devlance.c @@ -348,10 +348,10 @@ lanceoput(Queue *q, Block *bp ) tsleep(&l.tr, isobuf, (void *)0, 1000); if(isobuf(0) == 0 || l.misses > 4){ l.misses = 0; - print("lance wedged, restarting\n"); +print("lance wedged, restarting\n"); lancestart(0, 0); - qunlock(&l.tlock); freeb(bp); + poperror(); return; /* the interrupt routine will qunlock(&l.tlock) */ } p = &l.tp[l.tc]; diff --git a/port/devproc.c b/port/devproc.c index 24d80a6912c94582adf7777afc0977038611fcee..5c9075526bc8e37e066f3258a4b7f18d4629beb2 100644 --- a/port/devproc.c +++ b/port/devproc.c @@ -330,6 +330,8 @@ procread(Chan *c, void *va, long n, ulong offset) return 0; if(offset+n > STATSIZE) n = STATSIZE - offset; +if((p->state < Dead) || (p->state > Rendezvous)) + panic("p->state=#%lux, p->psstate=#%lux\n", p->state, p->psstate); j = sprint(statbuf, "%-27s %-27s %-11s ", p->text, p->user, p->psstate ? p->psstate : statename[p->state]); for(i=0; i<6; i++){ diff --git a/port/proc.c b/port/proc.c index 53058a5b08e97c1d6ca306f86d4208ce62166609..0d89ea7184cff45ac2811191b8380849920f93bf 100644 --- a/port/proc.c +++ b/port/proc.c @@ -641,6 +641,8 @@ pwait(Waitmsg *w) Proc* proctab(int i) { +if((i < 0) || (i >= conf.nproc)) + panic("proctab(%d)\n", i); return &procalloc.arena[i]; }