From: Lionel Sambuc Date: Thu, 3 Apr 2014 13:53:43 +0000 (+0200) Subject: Fix perl build hanging on pipe X-Git-Tag: v3.3.0~403 X-Git-Url: http://zhaoyanbai.com/repos/icons/debian/openlogo-25.jpg?a=commitdiff_plain;h=ac9fa699bdc20fec397b5f20eb9d2297a145d5ee;p=minix.git Fix perl build hanging on pipe Change-Id: Ic1ff95f45c6082b9310b27783190ce8f92c2afad --- diff --git a/servers/vfs/pipe.c b/servers/vfs/pipe.c index f9e2c6ad6..eb61e3b6f 100644 --- a/servers/vfs/pipe.c +++ b/servers/vfs/pipe.c @@ -226,6 +226,7 @@ int notouch /* check only */ r = SUSPEND; /* If need be, activate sleeping writers. */ + /* We ignore notouch voluntary here. */ if (susp_count > 0) release(vp, VFS_WRITE, susp_count); } @@ -397,7 +398,7 @@ int count; /* max number of processes to release */ * select; a close() doesn't always warrant it. */ if(pipe_check(f, op == VFS_READ ? READING : WRITING, - f->filp_flags & ~O_NONBLOCK, 1, 1) == SUSPEND) { + f->filp_flags, 1, 1) != EAGAIN) { continue; } select_callback(f, selop);