Subject: sun-lamp CVS commits
To: None <source-changes@NetBSD.ORG>
From: The Source Master <srcmastr@NetBSD.ORG>
List: source-changes
Date: 01/04/1995 22:10:03
jtc
Wed Jan 4 22:01:20 PST 1995
Update of /b/source/CVS/src/include
In directory sun-lamp.cs.berkeley.edu:/c/users/jtc/src/include
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.