1 #include <signal.h> 2 #include <errno.h> 3 sigaddset(sigset_t * set,int sig)4int sigaddset(sigset_t *set, int sig) 5 { 6 unsigned s = sig-1; 7 if (s >= _NSIG-1 || sig-32U < 3) { 8 errno = EINVAL; 9 return -1; 10 } 11 set->__bits[s/8/sizeof *set->__bits] |= 1UL<<(s&8*sizeof *set->__bits-1); 12 return 0; 13 } 14