X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2Fpipe.c;h=66aa0b938d6aca876bf2d246462c5fa2e3586e8b;hb=9d0243bca345d5ce25d3f4b74b7facb3a6df1232;hp=2c7a23dde2d83f1ae18190e5723c0eb8d8ae0548;hpb=0dd7f883a9e21c5f2ff5e8f1cbb0e78cdc044d8a;p=linux-2.6-omap-h63xx.git diff --git a/fs/pipe.c b/fs/pipe.c index 2c7a23dde2d..66aa0b938d6 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -39,7 +39,11 @@ void pipe_wait(struct inode * inode) { DEFINE_WAIT(wait); - prepare_to_wait(PIPE_WAIT(*inode), &wait, TASK_INTERRUPTIBLE); + /* + * Pipes are system-local resources, so sleeping on them + * is considered a noninteractive wait: + */ + prepare_to_wait(PIPE_WAIT(*inode), &wait, TASK_INTERRUPTIBLE|TASK_NONINTERACTIVE); up(PIPE_SEM(*inode)); schedule(); finish_wait(PIPE_WAIT(*inode), &wait);