summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2012-03-26 13:07:59 -0400
committerEric Paris <eparis@redhat.com>2012-12-11 13:44:37 -0500
commit1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06 (patch)
treeb29442cfe30bf48bc2de777ac438604fa3a5ddaa
parent8b99c3ccf735a2294c7842d236caa42e543e2c95 (diff)
downloadlinux-1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06.tar.gz
linux-1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06.tar.bz2
linux-1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06.zip
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>
-rw-r--r--fs/notify/inotify/inotify_user.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index a6879d169241..463e828f1f31 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -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;