From: Tomas Hruby Date: Thu, 24 Sep 2009 16:03:25 +0000 (+0000) Subject: Broken pipes fix X-Git-Tag: v3.1.5~88 X-Git-Url: http://zhaoyanbai.com/repos/?a=commitdiff_plain;h=97fe6a4ba5624fb5dc5668a2f8988b35c267ed6f;p=minix.git Broken pipes fix - fix for the broken partial pipes r/w operations --- diff --git a/servers/vfs/main.c b/servers/vfs/main.c index 8b47583c7..dc6143a6d 100644 --- a/servers/vfs/main.c +++ b/servers/vfs/main.c @@ -238,6 +238,7 @@ PRIVATE void get_work() /* Revive a suspended process. */ for (rp = &fproc[0]; rp < &fproc[NR_PROCS]; rp++) if (rp->fp_pid != PID_FREE && rp->fp_revived == REVIVING) { + int blocked_on = rp->fp_blocked_on; found_one= TRUE; who_p = (int)(rp - fproc); who_e = rp->fp_endpoint; @@ -255,7 +256,7 @@ PRIVATE void get_work() */ assert(!GRANT_VALID(rp->fp_grant)); - if (rp->fp_blocked_on == FP_BLOCKED_ON_PIPE) + if (blocked_on == FP_BLOCKED_ON_PIPE) { fp= rp; fd_nr= (rp->fp_fd >> 8);