From 97fe6a4ba5624fb5dc5668a2f8988b35c267ed6f Mon Sep 17 00:00:00 2001 From: Tomas Hruby Date: Thu, 24 Sep 2009 16:03:25 +0000 Subject: [PATCH] Broken pipes fix - fix for the broken partial pipes r/w operations --- servers/vfs/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.44.0