X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fpipe.c;h=66aa0b938d6aca876bf2d246462c5fa2e3586e8b;hb=2a0445158192246c421467320af0d2f45a98f02c;hp=2c7a23dde2d83f1ae18190e5723c0eb8d8ae0548;hpb=529980c8b0b04e8a3f6606cdc156f1f81a5d68cd;p=linux-2.6 diff --git a/fs/pipe.c b/fs/pipe.c index 2c7a23dde2..66aa0b938d 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);