Subject: Re: POSIX signal macros broken/shakey on 1.0 beta
To: Dale Rahn <drahn@pacific.urbana.mcd.mot.com>
From: J.T. Conklin <jconklin@netcom.com>
List: current-users
Date: 08/12/1994 10:23:30
> I agree with the removal of the functions.
> When in doubt, RTFM.
Please don't think we haven't. Computer Literacy Bookshops thanks me for
all the money I've spent on various standards documents.
The debate is over which of two POSIX compliant behaviors NetBSD should
adopt. Specifically the "if the condition is detected" clause gives us
the option not to check for invalid signal errors. If we don't check
the condition won't be detected, thus an error return is unnecessary.
I think this is the only set of routines where POSIX allows us to not
check for errors.
The non-normative rationale gives the history of this decision:
In earlier drafts of POSIX.1 there was no distinction between
invalid and unsupported signals... The {EINVAL} error was thus
specified as a required error for invalid signals. With that
distinction, it is not necessary to require implementations of
these functions to determine whether an optional signal is
actually supported, as that could have a significant performance
impact for little value. The error could have been required for
invalid signals and optional for unsupported signals, but this
seemed unnecessarily complex. Thus, the error is optional in both
cases.
In any case, the case for pedantry has lost. I removed the sigaddset,
sigdelset, and sigismember macros last night.
--jtc
------------------------------------------------------------------------------