public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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'.

  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