1#include <signal.h>
2#include <errno.h>
3
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