X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=fs%2Ffifo.c;h=f8f97b8b6d44c82056a970b549eb3272d457263d;hb=ba230c3f6dc88ec008806adb27b12088486d508e;hp=49035b174b48af51a20b319d133ead21736eefc0;hpb=923f4f23940d2361e8d5c4245982163a8e9d1c91;p=safe%2Fjmp%2Flinux-2.6 diff --git a/fs/fifo.c b/fs/fifo.c index 49035b1..f8f97b8 100644 --- a/fs/fifo.c +++ b/fs/fifo.c @@ -11,8 +11,8 @@ #include #include -#include #include +#include #include static void wait_for_partner(struct inode* inode, unsigned int *cnt) @@ -51,13 +51,13 @@ static int fifo_open(struct inode *inode, struct file *filp) filp->f_mode &= (FMODE_READ | FMODE_WRITE); switch (filp->f_mode) { - case 1: + case FMODE_READ: /* * O_RDONLY * POSIX.1 says that O_NONBLOCK means return with the FIFO * opened, even when there is no process writing the FIFO. */ - filp->f_op = &read_fifo_fops; + filp->f_op = &read_pipefifo_fops; pipe->r_counter++; if (pipe->readers++ == 0) wake_up_partner(inode); @@ -76,7 +76,7 @@ static int fifo_open(struct inode *inode, struct file *filp) } break; - case 2: + case FMODE_WRITE: /* * O_WRONLY * POSIX.1 says that O_NONBLOCK means return -1 with @@ -86,7 +86,7 @@ static int fifo_open(struct inode *inode, struct file *filp) if ((filp->f_flags & O_NONBLOCK) && !pipe->readers) goto err; - filp->f_op = &write_fifo_fops; + filp->f_op = &write_pipefifo_fops; pipe->w_counter++; if (!pipe->writers++) wake_up_partner(inode); @@ -98,14 +98,14 @@ static int fifo_open(struct inode *inode, struct file *filp) } break; - case 3: + case FMODE_READ | FMODE_WRITE: /* * O_RDWR * POSIX.1 leaves this case "undefined" when O_NONBLOCK is set. * This implementation will NEVER block on a O_RDWR open, since * the process can at least talk to itself. */ - filp->f_op = &rdwr_fifo_fops; + filp->f_op = &rdwr_pipefifo_fops; pipe->readers++; pipe->writers++; @@ -151,5 +151,5 @@ err_nocleanup: * depending on the access mode of the file... */ const struct file_operations def_fifo_fops = { - .open = fifo_open, /* will set read or write pipe_fops */ + .open = fifo_open, /* will set read_ or write_pipefifo_fops */ };