aboutsummaryrefslogtreecommitdiff
path: root/src/signal/siginterrupt.c
blob: 6c4ee4de6b6d96aba653fa65654f4a3782a4089b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <signal.h>

int siginterrupt(int sig, int flag)
{
	struct sigaction sa;

	sigaction(sig, 0, &sa);
	if (flag) sa.sa_flags &= ~SA_RESTART;
	else sa.sa_flags |= SA_RESTART;

	return sigaction(sig, &sa, 0);
}


#ifdef TEST
int
main(void) {
	return 0;
}
#endif