aboutsummaryrefslogtreecommitdiff
path: root/emu/Android/compat/sighold.c
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);
}