]> Zhao Yanbai Git Server - minix.git/commitdiff
VFS: fix select bug on pipes
authorThomas Veerman <thomas@minix3.org>
Tue, 22 Jan 2013 15:49:02 +0000 (15:49 +0000)
committerThomas Veerman <thomas@minix3.org>
Wed, 23 Jan 2013 11:14:34 +0000 (11:14 +0000)
servers/vfs/select.c

index 8c3a13ce7cd10889b321bec0691934fed9c68102..d2c14e947c70817dc84db67c79b0269d931bc005 100644 (file)
@@ -452,7 +452,7 @@ static int select_request_pipe(struct filp *f, int *ops, int block)
 
   if ((*ops & (SEL_RD|SEL_ERR))) {
        /* Check if we can read 1 byte */
-       err = pipe_check(f->filp_vno, READING, 0, 1, 1 /* Check only */);
+       err = pipe_check(f->filp_vno, READING, f->filp_flags, 1, 1 /* Check only */);
 
        if (err != SUSPEND)
                r |= SEL_RD;
@@ -468,7 +468,7 @@ static int select_request_pipe(struct filp *f, int *ops, int block)
 
   if ((*ops & (SEL_WR|SEL_ERR))) {
        /* Check if we can write 1 byte */
-       err = pipe_check(f->filp_vno, WRITING, 0, 1, 1 /* Check only */);
+       err = pipe_check(f->filp_vno, WRITING, f->filp_flags, 1, 1 /* Check only */);
 
        if (err != SUSPEND)
                r |= SEL_WR;