LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Albert Cahalan <albert@users.sf.net>
To: Ingo Oeser <ioe-lkml@rameria.de>
Cc: bruce@perens.com, Linus Torvalds <torvalds@osdl.org>,
	linux-kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: Never mind. Re: Signal left blocked after signal handler.
Date: 27 Nov 2003 10:45:39 -0500	[thread overview]
Message-ID: <1069947938.722.437.camel@cube> (raw)
In-Reply-To: <200311271012.07893.ioe-lkml@rameria.de>

On Thu, 2003-11-27 at 04:11, Ingo Oeser wrote:
> On Wednesday 26 November 2003 22:53, Albert Cahalan wrote:

> [2.4 vs. 2.6 wrt. thread synchronous signals]
> > How about making the process sleep in a killable state?
> >
> > This is as if the blocking was obeyed, but doesn't
> > burn CPU time. Only a debugger should be able to
> > tell the difference.
> 
> This has 2 problems:
> 
> 1) Servers and PID files or servers and simple monitoring software.
> 2) Processes spawned from init, which will not respawn.

It has benefits:

1. Continuous respawning is no good.
2. If the processes sleeps, you can attach a debugger.

The obviously correct behavior is to go back into
user space, likely to take the signal again. The only
thing wrong with this is that it eats CPU time.
So _pretend_ to do that. Have the process sleep,
ideally with an "R" state as seen in /proc, and maybe
even go back to the crazy loop if someone attaches a
debugger.

The crazy loop is most correct though. It's what the
user asked for. It perfectly handles the case of a
repeating SIGFPE (blocked) followed by some other
thread unmapping a page of instructions or data that
turns the SIGFPE into a SIGSEGV.




  reply	other threads:[~2003-11-27 16:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-26 21:53 Albert Cahalan
2003-11-27  9:11 ` Ingo Oeser
2003-11-27 15:45   ` Albert Cahalan [this message]
2003-11-27 17:26     ` Jörn Engel
  -- strict thread matches above, loose matches on Subject: below --
2003-11-26 17:39 Bruce Perens
2003-11-26 17:55 ` Linus Torvalds
     [not found]   ` <3FC4ED5F.4090901@perens.com>
     [not found]     ` <3FC4EF24.9040307@perens.com>
     [not found]       ` <3FC4F248.8060307@perens.com>
2003-11-26 18:45         ` Never mind. " Linus Torvalds
2003-11-26 19:04           ` Bruce Perens
2003-11-26 19:14             ` Linus Torvalds
2003-11-26 19:52               ` Jamie Lokier

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=1069947938.722.437.camel@cube \
    --to=albert@users.sf.net \
    --cc=bruce@perens.com \
    --cc=ioe-lkml@rameria.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    --subject='Re: Never mind. Re: Signal left blocked after signal handler.' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).