Subject: just noticed this...
To: None <current-users@NetBSD.ORG>
From: Perry E. Metzger <>
List: current-users
Date: 01/08/1995 15:06:21
Just noticed this source commit. Doesn't this end up sacrificing the
ability of users to drop in any GCC they pick up whenever they like,
or use other compilers/languages, and doesn't it also lower
portability? Was signal mask initialization time a real problem?

Not making judgements -- just curious...


>From: The Source Master <srcmastr@NetBSD.ORG>
>Newsgroups: imsi.mail.netbsd.source-changes
>Date: 5 Jan 1995 02:07:16 -0500

>Wed Jan  4 22:01:20 PST 1995
>Update of /b/source/CVS/src/include
>In directory

>Modified Files:
>	signal.h 
>Log Message:
>We removed the sigaddset(), sigdelset(), and sigismember() macros, although
>they were POSIX.1 compliant, because users have misinterpreted the spec and
>have written programs that depend on -1 being returned when a signal number
>is out of range.  This made initialization of signal masks significantly 
>more expensive.

>This change uses GCC's inline function extension to provide macro-like 
>signal mask manipulation functions.  Since most of the time constants 
>like SIGINT is used, gcc is able to remove unused range checking code.
>Gcc is also smart enough to coalesce adjacent sigemptyset(), sigaddset(),
>sigdelset(), and sigfullset() calls into a single assignment.