From: Thomas Veerman Date: Tue, 22 Jan 2013 15:49:02 +0000 (+0000) Subject: VFS: fix select bug on pipes X-Git-Tag: v3.2.1~82 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/zlib_tech.html?a=commitdiff_plain;h=306f3ccd6f2f473e37ae29ddfc94dc7b29b1cc7c;p=minix.git VFS: fix select bug on pipes --- diff --git a/servers/vfs/select.c b/servers/vfs/select.c index 8c3a13ce7..d2c14e947 100644 --- a/servers/vfs/select.c +++ b/servers/vfs/select.c @@ -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;