From 73ee8b8b998e7a389ecd68b9780be3084c146885 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Thu, 2 Apr 2009 11:44:26 +0000 Subject: [PATCH] don't make susp_count negative. --- servers/vfs/pipe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/servers/vfs/pipe.c b/servers/vfs/pipe.c index 82ece30f1..4e3e4dac7 100644 --- a/servers/vfs/pipe.c +++ b/servers/vfs/pipe.c @@ -352,13 +352,15 @@ int count; /* max number of processes to release */ } /* Search the proc table. */ - for (rp = &fproc[0]; rp < &fproc[NR_PROCS]; rp++) { + for (rp = &fproc[0]; rp < &fproc[NR_PROCS] && count > 0; rp++) { if (rp->fp_pid != PID_FREE && rp->fp_suspended == SUSPENDED && rp->fp_revived == NOT_REVIVING && (rp->fp_fd & BYTE) == call_nr && rp->fp_filp[rp->fp_fd>>8]->filp_vno == vp) { revive(rp->fp_endpoint, 0); susp_count--; /* keep track of who is suspended */ + if(susp_count < 0) + panic("vfs", "susp_count now negative", susp_count); if (--count == 0) return; } } -- 2.44.0