]> Zhao Yanbai Git Server - minix.git/commitdiff
Fix perl build hanging on pipe
authorLionel Sambuc <lionel@minix3.org>
Thu, 3 Apr 2014 13:53:43 +0000 (15:53 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:14 +0000 (17:05 +0200)
Change-Id: Ic1ff95f45c6082b9310b27783190ce8f92c2afad

servers/vfs/pipe.c

index f9e2c6ad6ab793e3b36d083835cd8c146e6a7d9b..eb61e3b6fa9aa0027680224c4370fa0d14c1a674 100644 (file)
@@ -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);