Messages in this thread | | | Date | Thu, 5 Jun 2008 20:16:12 +0400 | From | Oleg Nesterov <> | Subject | Re: TASK_WAKEKILL && /sbin/init (was: [PATCH 1/2] schedule: fix TASK_WAKEKILL vs SIGKILL race) |
| |
On 06/05, Oleg Nesterov wrote: > > Anyway. How about the (untested/uncompiled) patch for now? -EINTR or > -ERESTARTNOINTR looks "more correct" regardless. > > Oleg. > > --- mm/filemap.c > +++ mm/filemap.c > @@ -188,7 +188,7 @@ static int sync_page(void *word) > static int sync_page_killable(void *word) > { > sync_page(word); > - return fatal_signal_pending(current) ? -EINTR : 0; > + return fatal_signal_pending(current) ? -ERESTARTNOINTR : 0;
Forgot to mention, this part is questionable of course. And it can't prevent the case when "ret = sys_read(count)" succeeds, but ret < count.
Oleg.
| |