about summary refs log tree commit diff
path: root/test/test-unsigaction.c
blob: 1a5e4b26e8fe7f58dfeff7e25838849f107559fa (plain) (blame)
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
#include <signal.h> /* sigemptyset(), sigaction(), kill(), SIGUSR1 */
#include <stdlib.h> /* exit() */
#include <unistd.h> /* getpid() */
#include <errno.h> /* errno */
#include <stdio.h> /* fprintf() */

static void mysig_handler(int sig)
{
	exit(2);
}

int main()
{
	/* setup sig handler */
	struct sigaction sa;
       	sa.sa_handler = mysig_handler;
	sigemptyset(&sa.sa_mask);
        sa.sa_flags = 0;	
	if (sigaction(SIGCHLD, &sa, NULL)) {
		fprintf(stderr, "could not set signal handler %d, aborted\n", errno);
		exit(1);
	}
	kill(getpid(), SIGCHLD);
	return 0;
}