blob: 528063d771624a889458fe31d2f15d79dd16483b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/*
* sighold.c -- emulate sighold() and sigrelse() since bionic doesn't
* supply them
*/
#include <signal.h>
static void set_to_int(sigset_t *set, int sig)
{
sigemptyset(set);
sigaddset(set, sig);
}
int sighold(int sig)
{
sigset_t set;
set_to_int(&set, sig);
return sigprocmask(SIG_BLOCK, &set, NULL);
}
int sigrelse(int sig)
{
sigset_t set;
set_to_int(&set, sig);
return sigprocmask(SIG_UNBLOCK, &set, NULL);
}
|