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) | |
download | linux-1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06.tar.bz2 |
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 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; |