diff options
author | Eric Paris <eparis@redhat.com> | 2012-03-26 13:07:59 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2012-12-11 13:44:37 -0500 |
commit | 1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06 (patch) | |
tree | b29442cfe30bf48bc2de777ac438604fa3a5ddaa | |
parent | 8b99c3ccf735a2294c7842d236caa42e543e2c95 (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.c | 2 |
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 | ||