Difference of _NSIG between the kernel UAPI header and libc header
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Fri Jul 3 17:07:24 GMT 2026
On 03/07/26 04:30, Xi Ruoyao wrote:
> Hi,
>
> In the kernel UAPI header, _NSIG is defined with the same value of
> SIGRTMAX; but in the libc header, _NSIG is defined as SIGRTMAX + 1.
>
> I'm wondering: what is the rationale of the difference here?
>
The glibc historical value most likely came from old UNIX definition [1],
which defined 'highest signal number + 1'. And since they are in the
implementation namespace and never standardized by POSIX, kernel and
libc does not need to keep them in sync or even have the same meaning.
[1] https://utcc.utoronto.ca/~cks/space/blog/unix/SignalsHowOld
More information about the Libc-alpha
mailing list