From f0186f4179bc19f5966801d36057a058f70be525 Mon Sep 17 00:00:00 2001 From: Philip Homburg Date: Mon, 15 May 2006 11:43:06 +0000 Subject: [PATCH] Do not unmap a driver when the driver dies (it interferes with restarting disk drivers). Fixed accounting for REVIVING/reviving. --- servers/fs/misc.c | 1 - servers/fs/pipe.c | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/servers/fs/misc.c b/servers/fs/misc.c index 3776e7431..d10abf5ed 100644 --- a/servers/fs/misc.c +++ b/servers/fs/misc.c @@ -398,7 +398,6 @@ PRIVATE void free_proc(struct fproc *exiter, int flags) if(!(flags & FP_EXITING)) return; - dmap_unmap_by_endpt(fp->fp_endpoint); /* Invalidate endpoint number for error and sanity checks. */ fp->fp_endpoint = NONE; diff --git a/servers/fs/pipe.c b/servers/fs/pipe.c index 4282f8eef..25b8e51d2 100644 --- a/servers/fs/pipe.c +++ b/servers/fs/pipe.c @@ -359,6 +359,9 @@ int proc_nr_e; if (rfp->fp_suspended == NOT_SUSPENDED) return(OK); task = -rfp->fp_task; + if (rfp->fp_revived == REVIVING) + reviving--; + switch (task) { case XPIPE: /* process trying to read or write a pipe */ break; -- 2.44.0