From: "Michael Kerrisk" <mtk-manpages@gmx.net>
To: Manfred Spraul <manfred@colorfullife.com>
Cc: mtk-lkml@gmx.net, rlove@rlove.org, roland@redhat.com,
eggert@cs.ucla.edu, paire@ri.silicomp.fr, drepper@redhat.com,
torvalds@osdl.com, tytso@mit.edu, linux-kernel@vger.kernel.org,
michael.kerrisk@gmx.net
Subject: Re: Strange Linux behaviour with blocking syscalls and stop signals+SIGCONT
Date: Thu, 06 Jul 2006 11:23:28 +0200 [thread overview]
Message-ID: <20060706092328.320300@gmx.net> (raw)
In-Reply-To: <44AABB31.8060605@colorfullife.com>
Hi Manfred,
> Michael Kerrisk wrote:
>
> > c) The Linux baehviour has been arbitrary across kernel versions and
> > system calls. In particular, the following system calls showed this
> > behaviour in earlier kernel versions, but then the behaviour was
> > changed without forewarning and (AFAIK) without subsequent complaint:
> >
> > [snip]
> >
> > * msgsnd() and msgrcv() in kernels before 2.6.9.
> >
> That was my change - and I even forgot to mention it in the changelog
> (hiding in shame):
> I replaced -EINTR with -ERESTARTNOHAND.
Well, that change was useful for my argument: the change appears
to have affected no-one, and so why not make it also for futex(),
sigtimedwait(), semop()/semtimedop(), inotify read(),
epoll_wait()...
> That hides signals that are handled in the kernel from user space -
> probably what we want.
Yes.
> Michael: Could you replace the EINTR in inotify.c with ERESTARTNOHAND?
> That should prevent the kernel from showing the signal to user space.
> I'd guess that most instances of EINTR are wrong, except in device
> drivers: It means we return from the syscall, even if the signal handler
> wants to restart the system call.
I'll try patching a kernel to s/EINTR/ERESTARTNOHAND/ in relevant
places, and see how that goes. If it goes well, I'll submit a
patch.
Cheers,
Michael
--
Michael Kerrisk
maintainer of Linux man pages Sections 2, 3, 4, 5, and 7
Want to help with man page maintenance?
Grab the latest tarball at
ftp://ftp.win.tue.nl/pub/linux-local/manpages/,
read the HOWTOHELP file and grep the source
files for 'FIXME'.
next prev parent reply other threads:[~2006-07-06 9:23 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-03 14:46 Strange Linux behaviour with blocking syscalls and stop signals+SIGCONT Michael Kerrisk
2006-07-04 19:02 ` Manfred Spraul
2006-07-06 9:23 ` Michael Kerrisk [this message]
2006-07-06 18:42 ` Manfred Spraul
2006-07-06 18:55 ` Ulrich Drepper
2006-07-06 19:02 ` Manfred Spraul
2006-07-06 19:10 ` Ulrich Drepper
2006-07-06 19:18 ` Linus Torvalds
2006-07-06 19:28 ` Manfred Spraul
2006-07-06 19:29 ` Manfred Spraul
2006-07-07 4:57 ` Michael Kerrisk
2006-07-07 5:10 ` Linus Torvalds
2006-07-07 5:12 ` Linus Torvalds
2009-11-07 19:43 ` angelo.borsotti
2006-07-07 4:32 ` Michael Kerrisk
2006-07-07 4:57 ` Ulrich Drepper
2006-07-07 5:07 ` Michael Kerrisk
2006-07-07 6:20 ` Ulrich Drepper
2006-07-07 7:03 ` Michael Kerrisk
2006-07-07 7:20 ` Arjan van de Ven
2006-07-07 8:02 ` Michael Kerrisk
2006-07-07 9:26 ` Jakub Jelinek
2006-07-07 13:36 ` Ulrich Drepper
2006-07-07 4:28 ` Michael Kerrisk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060706092328.320300@gmx.net \
--to=mtk-manpages@gmx.net \
--cc=drepper@redhat.com \
--cc=eggert@cs.ucla.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=manfred@colorfullife.com \
--cc=michael.kerrisk@gmx.net \
--cc=mtk-lkml@gmx.net \
--cc=paire@ri.silicomp.fr \
--cc=rlove@rlove.org \
--cc=roland@redhat.com \
--cc=torvalds@osdl.com \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox