Estupidamente eu tinha esquecido que coisas que são #define
d não são constantes a menos que sejam escritas dessa maneira!
Como o @RuiFRibeiro aponta no arquivo /usr/include/
específico da arquitetura /bits/signum.h
include na parte inferior, está o par de MACROS que fornece o que é necessário:
#define SIGUNUSED 31
#define _NSIG 65 /* Biggest signal number + 1
(including real-time signals). */
#define SIGRTMIN (__libc_current_sigrtmin ())
#define SIGRTMAX (__libc_current_sigrtmax ())
/* These are the hard limits of the kernel. These values should not be
used directly at user level. */
#define __SIGRTMIN 32
#define __SIGRTMAX (_NSIG - 1)
Então, agora eu sei como evitar que os manipuladores de sinais sejam substituídos por aqueles reservados. Suspeito que qualquer tentativa seria rejeitada de qualquer forma, mas para relatar erros é melhor saber quais são os limites e não determiná-los. sugá-lo e ver abordagem!