/* Retreive a thread's full set of pending signals, including the global ones if appropriate. SS must be locked. */ sigset_t _hurd_sigstate_pending (const struct hurd_sigstate *ss) { sigset_t pending = ss->pending; if (sigstate_is_global_rcv (ss)) __sigorset (&pending, &pending, &_hurd_global_sigstate->pending); return pending; }
/* Combine sets LEFT and RIGHT by logical OR and place result in DEST. */ int sigorset (sigset_t *dest, const sigset_t *left, const sigset_t *right) { if (dest == NULL || left == NULL || right == NULL) { __set_errno (EINVAL); return -1; } return __sigorset (dest, left, right); }
/* Combine sets LEFT and RIGHT by logical OR and place result in DEST. */ int sigorset (sigset_t *dest, const sigset_t *left, const sigset_t *right) { if (!dest || !left || !right) { __set_errno (EINVAL); return -1; } __sigorset (dest, left, right); return 0; }