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;