mirror of
https://github.com/fluencelabs/musl
synced 2025-06-25 12:42:02 +00:00
the idea here is to avoid advertising signals that don't exist and to make these functions safe to call (e.g. from within other parts of the implementation) on fake sigset_t objects which do not have the HURD padding.
14 lines
259 B
C
14 lines
259 B
C
#include <signal.h>
|
|
#include <errno.h>
|
|
|
|
int sigaddset(sigset_t *set, int sig)
|
|
{
|
|
unsigned s = sig-1;
|
|
if (s >= _NSIG-1 || sig-32U < 3) {
|
|
errno = EINVAL;
|
|
return -1;
|
|
}
|
|
set->__bits[s/8/sizeof *set->__bits] |= 1UL<<(s&8*sizeof *set->__bits-1);
|
|
return 0;
|
|
}
|