SIGUNUSED

Jilles Tjoelker jilles at stack.nl
Fri Nov 6 22:11:52 UTC 2009


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.

-- 
Jilles Tjoelker


More information about the freebsd-hackers mailing list