The errno and signal codesets Lassi Kortela (13 Dec 2022 11:38 UTC)
Re: The errno and signal codesets Lassi Kortela (13 Dec 2022 11:48 UTC)
Re: The errno and signal codesets John Cowan (14 Dec 2022 05:58 UTC)
Re: The errno and signal codesets Lassi Kortela (14 Dec 2022 09:08 UTC)
Re: The errno and signal codesets John Cowan (14 Dec 2022 22:48 UTC)
Re: The errno and signal codesets Lassi Kortela (15 Dec 2022 09:10 UTC)
Re: The errno and signal codesets John Cowan (18 Dec 2022 07:56 UTC)
Re: The errno and signal codesets Lassi Kortela (20 Dec 2022 10:51 UTC)
Re: The errno and signal codesets Lassi Kortela (20 Dec 2022 11:53 UTC)

The errno and signal codesets Lassi Kortela 13 Dec 2022 11:37 UTC

The following notes apply to the Unix errno (EPERM, etc.) and signal
(SIGTERM, etc.) codesets:

- These facilities exist not only on Unix-like operating systems and in
the POSIX standard, but also in the C language standard
(https://go.scheme.org/c99) and on other operating systems that use C,
e.g. Windows. I'm pretty sure they exist on VMS too, but I didn't check.
Standard C mandates the existence of both the <errno.h> and <signal.h>
headers, with a minimal set of standard codes in each.

- I originally thought we should use the 'unix-signal symbol for the
signals. But since it's standardized at the C language level and Windows
does not have a native signals facility (as evidenced by Microsoft's
"UNIX Application Migration Guide" at
<https://learn.microsoft.com/en-us/previous-versions/ms811896(v=msdn.10)>),
it's appropriate to call it by the simpler name 'signal. A third
alternative would be 'posix-signal, but the codeset should not be
limited to signals that have been standardized in POSIX. A fourth
alternative is 'c-signal or 'csignal; IMHO this name is more confusing
than helpful since people are accustomed to signals being an OS
facility, not a language facility. Since the Unix signal facility has no
"competitor" with the same name, there ought not to be an ambiguity.

- Likewise, calling the other set 'errno instead of 'unix-errno,
'posix-errno, 'c-errno, or 'cerrno ought to be simpler for the same
reasons. No language except C has a well-known facility called "errno".