patch-1.3.67 linux/fs/pipe.c
Next file: linux/fs/sysv/file.c
Previous file: linux/fs/nfs/proc.c
Back to the patch index
Back to the overall index
- Lines: 26
- Date:
Mon Feb 19 13:29:08 1996
- Orig file:
v1.3.66/linux/fs/pipe.c
- Orig date:
Tue Dec 26 04:45:38 1995
diff -u --recursive --new-file v1.3.66/linux/fs/pipe.c linux/fs/pipe.c
@@ -254,8 +254,10 @@
static void pipe_rdwr_release(struct inode * inode, struct file * filp)
{
- PIPE_READERS(*inode)--;
- PIPE_WRITERS(*inode)--;
+ if (filp->f_mode & FMODE_READ)
+ PIPE_READERS(*inode)--;
+ if (filp->f_mode & FMODE_WRITE)
+ PIPE_WRITERS(*inode)--;
wake_up_interruptible(&PIPE_WAIT(*inode));
}
@@ -273,8 +275,10 @@
static int pipe_rdwr_open(struct inode * inode, struct file * filp)
{
- PIPE_READERS(*inode)++;
- PIPE_WRITERS(*inode)++;
+ if (filp->f_mode & FMODE_READ)
+ PIPE_READERS(*inode)++;
+ if (filp->f_mode & FMODE_WRITE)
+ PIPE_WRITERS(*inode)++;
return 0;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this