aboutsummaryrefslogtreecommitdiffstats
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)
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 a6879d16924..463e828f1f3 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,
264 ret = -EAGAIN; 264 ret = -EAGAIN;
265 if (file->f_flags & O_NONBLOCK) 265 if (file->f_flags & O_NONBLOCK)
266 break; 266 break;
267 ret = -EINTR; 267 ret = -ERESTARTSYS;
268 if (signal_pending(current)) 268 if (signal_pending(current))
269 break; 269 break;
270 270