X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=fs%2Fpipe.c;h=66aa0b938d6aca876bf2d246462c5fa2e3586e8b;hb=cdcdb28623fb74d9564b102cd1cbe3854071e855;hp=2c7a23dde2d83f1ae18190e5723c0eb8d8ae0548;hpb=f7402dc44d617be807e7184c6c624611b2d35b4e;p=mv-sheeva.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);