Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24 /fs/pipe.c

Filename:/fs/pipe.c
Lines Added:4
Lines Deleted:5
Also changed in: (Previous) 2.6.24-rc8  2.6.24-rc7  2.6.24-rc6  2.6.24-rc5  2.6.24-rc4  2.6.24-rc3 
(Following) 2.6.24-git19  2.6.24-git20  2.6.24-git21  2.6.24-git22  2.6.25-rc1  2.6.25-rc1-git3 

Location
[  2.6.24
  [  fs
     o  pipe.c

Patch

diff --git a/fs/pipe.c b/fs/pipe.c
index 6b3d91a..e66ec48 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -45,8 +45,7 @@ void pipe_wait(struct pipe_inode_info *pipe)
     * Pipes are system-local resources, so sleeping on them
     * is considered a noninteractive wait:
     */
-   prepare_to_wait(&pipe->wait, &wait,
-         TASK_INTERRUPTIBLE | TASK_NONINTERACTIVE);
+   prepare_to_wait(&pipe->wait, &wait, TASK_INTERRUPTIBLE);
    if (pipe->inode)
       mutex_unlock(&pipe->inode->i_mutex);
    schedule();
@@ -383,7 +382,7 @@ redo:
 
    /* Signal writers asynchronously that there is more room. */
    if (do_wakeup) {
-      wake_up_interruptible(&pipe->wait);
+      wake_up_interruptible_sync(&pipe->wait);
       kill_fasync(&pipe->fasync_writers, SIGIO, POLL_OUT);
    }
    if (ret > 0)
@@ -556,7 +555,7 @@ redo2:
 out:
    mutex_unlock(&inode->i_mutex);
    if (do_wakeup) {
-      wake_up_interruptible(&pipe->wait);
+      wake_up_interruptible_sync(&pipe->wait);
       kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
    }
    if (ret > 0)
@@ -650,7 +649,7 @@ pipe_release(struct inode *inode, int decr, int decw)
    if (!pipe->readers && !pipe->writers) {
       free_pipe_info(inode);
    } else {
-      wake_up_interruptible(&pipe->wait);
+      wake_up_interruptible_sync(&pipe->wait);
       kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
       kill_fasync(&pipe->fasync_writers, SIGIO, POLL_OUT);
    }


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.