jehanne: add sigprocmask

This commit is contained in:
2017-09-12 00:49:17 +02:00
parent 7ce34f8fbf
commit db0b84d2e2
2 changed files with 15 additions and 8 deletions

View File

@ -23,36 +23,43 @@
typedef unsigned long sigset_t; typedef unsigned long sigset_t;
int int
sigfillset(unsigned long *set) sigfillset(sigset_t *set)
{ {
int *errnop = &_REENT->_errno; int *errnop = &_REENT->_errno;
return POSIX_sigfillset(errnop, set); return POSIX_sigfillset(errnop, set);
} }
int int
sigemptyset(unsigned long *set) sigemptyset(sigset_t *set)
{ {
int *errnop = &_REENT->_errno; int *errnop = &_REENT->_errno;
return POSIX_sigemptyset(errnop, set); return POSIX_sigemptyset(errnop, set);
} }
int int
sigismember(const unsigned long *set, int signo) sigismember(const sigset_t *set, int signo)
{ {
int *errnop = &_REENT->_errno; int *errnop = &_REENT->_errno;
return POSIX_sigismember(errnop, set, signo); return POSIX_sigismember(errnop, set, signo);
} }
int int
sigaddset(unsigned long *set, int signo) sigaddset(sigset_t *set, int signo)
{ {
int *errnop = &_REENT->_errno; int *errnop = &_REENT->_errno;
return POSIX_sigaddset(errnop, set, signo); return POSIX_sigaddset(errnop, set, signo);
} }
int int
sigdelset(unsigned long *set, int signo) sigdelset(sigset_t *set, int signo)
{ {
int *errnop = &_REENT->_errno; int *errnop = &_REENT->_errno;
return POSIX_sigdelset(errnop, set, signo); return POSIX_sigdelset(errnop, set, signo);
} }
int
sigprocmask(int how, const sigset_t *set, sigset_t *oset)
{
int *errnop = &_REENT->_errno;
return POSIX_sigprocmask(errnop, how, set, oset);
}

View File

@ -98,7 +98,7 @@ typedef struct {
*/ */
typedef void (*_sig_func_ptr)(int); typedef void (*_sig_func_ptr)(int);
typedef void (*_sigact_func_ptr)(int, siginfo_t *, void * ); typedef void (*_sig_act_ptr)(int, siginfo_t *, void * );
struct sigaction { struct sigaction {
int sa_flags; /* Special flags to affect behavior of signal */ int sa_flags; /* Special flags to affect behavior of signal */
@ -106,8 +106,8 @@ struct sigaction {
/* during execution of signal-catching */ /* during execution of signal-catching */
/* function. */ /* function. */
union { union {
_sig_func_ptr _handler; /* SIG_DFL, SIG_IGN, or pointer to a function */ _sig_func_ptr _handler; /* SIG_DFL, SIG_IGN, or pointer to a function */
_sigact_func_ptr _sigaction; _sig_act_ptr _sigaction;
} _signal_handlers; } _signal_handlers;
}; };