inotify: automatically restart syscalls

We were mistakenly returning EINTR when we found an outstanding signal.
Instead we should returen ERESTARTSYS and allow the kernel to handle
things the right way.

Patch-from: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
Eric Paris 2012-03-26 13:07:59 -04:00
parent 8b99c3ccf7
commit 1ca39ab9d2

View file

@ -264,7 +264,7 @@ static ssize_t inotify_read(struct file *file, char __user *buf,
ret = -EAGAIN;
if (file->f_flags & O_NONBLOCK)
break;
ret = -EINTR;
ret = -ERESTARTSYS;
if (signal_pending(current))
break;