From: Philip Homburg Date: Mon, 15 May 2006 11:43:06 +0000 (+0000) Subject: Do not unmap a driver when the driver dies (it interferes with restarting X-Git-Tag: v3.1.3~360 X-Git-Url: http://zhaoyanbai.com/repos/%22/xml/v3/zones/static/Bv9ARM.ch07.html?a=commitdiff_plain;h=f0186f4179bc19f5966801d36057a058f70be525;p=minix.git Do not unmap a driver when the driver dies (it interferes with restarting disk drivers). Fixed accounting for REVIVING/reviving. --- 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;