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