Export XSI sigpause
There are two common sigpause variants, both of which take an int argument. If you request _XOPEN_SOURCE or _GNU_SOURCE, you get the System V version, which removes the given signal from the process's signal mask; otherwise you get the BSD version, which sets the process's signal mask to the given value. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
This commit is contained in:
@ -523,6 +523,18 @@ sigpause (int signal_mask)
|
||||
return res;
|
||||
}
|
||||
|
||||
extern "C" int
|
||||
__xpg_sigpause (int sig)
|
||||
{
|
||||
int res;
|
||||
sigset_t signal_mask;
|
||||
sigprocmask (0, NULL, &signal_mask);
|
||||
sigdelset (&signal_mask, sig);
|
||||
res = handle_sigsuspend (signal_mask);
|
||||
syscall_printf ("%R = __xpg_sigpause(%y)", res, sig);
|
||||
return res;
|
||||
}
|
||||
|
||||
extern "C" int
|
||||
pause (void)
|
||||
{
|
||||
|
Reference in New Issue
Block a user