Date: Sat, 07 Nov 2009 03:17:49 +0100 (CET) From: Alexander Best <alexbestms@math.uni-muenster.de> To: Jilles Tjoelker <jilles@stack.nl>, Alexander Best <alexbestms@math.uni-muenster.de> Cc: freebsd-hackers@FreeBSD.org Subject: Re: SIGUNUSED Message-ID: <permail-2009110702174980e26a0b00004745-a_best01@message-id.uni-muenster.de> In-Reply-To: <20091106221150.GA60707@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
Jilles Tjoelker schrieb am 2009-11-06: > On Fri, Nov 06, 2009 at 10:33:57PM +0100, Alexander Best wrote: > > some programmers tend to do the following in their apps to install > > a standard > > handler for all signals (mostly SIG_IGN): > > int counter; > > for (counter = 1; counter < SIGUNUSED; counter++) > > signal(counter, SIG_IGN); > > any objections if we also have SIGUNUSED in our signal.h? seems > > like a > > reasonable addition. since the highest signal number (excluding > > SIGRT[MIN|MAX]) is SIGTHR with 32 we could add > > #define SIGUNUSED 33 > That code is wrong, SIGUNUSED is not meant to be used in that way. It > seems to originate from Linux, but it is not available on all > architectures there, and where it is available it is a valid signal. > Also, ignoring all signals tends not to be a good idea. For traps, > it's > either the same as the default action (FreeBSD unless admin sets > kern.forcesigexit=0), or it is an infinite loop or other undefined > behaviour. oh. i see. i'm not a linux user. that's why i thought SIGUNUSED was designed exactly for that purpose. as a side not: our own easyedit does exactly what you said wasn't a good programming style. ;) check line 554 of contrib/ee/ee.c: for (counter = 1; counter < 24; counter++) signal(counter, SIG_IGN); cheers. alex
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?permail-2009110702174980e26a0b00004745-a_best01>