patch-2.2.11 linux/fs/pipe.c
Next file: linux/fs/proc/array.c
Previous file: linux/fs/nfs/dir.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
Mon Aug 9 12:04:41 1999
- Orig file:
v2.2.10/linux/fs/pipe.c
- Orig date:
Fri Nov 13 10:07:26 1998
diff -u --recursive --new-file v2.2.10/linux/fs/pipe.c linux/fs/pipe.c
@@ -25,7 +25,7 @@
/* Florian Coosmann (FGC) ^ current = 1 */
/* Additionally, we now use locking technique. This prevents race condition */
/* in case of paging and multiple read/write on the same pipe. (FGC) */
-
+/* Reads with count = 0 should always return 0. Julian Bradfield 1999-06-07. */
static ssize_t pipe_read(struct file * filp, char * buf,
size_t count, loff_t *ppos)
@@ -34,8 +34,11 @@
ssize_t chars = 0, size = 0, read = 0;
char *pipebuf;
+
if (ppos != &filp->f_pos)
return -ESPIPE;
+
+ if ( !count ) return 0;
if (filp->f_flags & O_NONBLOCK) {
if (PIPE_LOCK(*inode))
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)