signals.c
author viric@llimona
Tue, 30 May 2006 01:16:33 +0200
changeset 54 a456a2e5fca4
parent 28 a206baaa3ad5
permissions -rw-r--r--
Updated TODO for the last release.

#include <signal.h> // Pels senyals
#include <string.h> // Pel memset
#include <assert.h>

void program_ignore_hup()
{
	struct sigaction my_action;
	int result;

	my_action.sa_handler = SIG_IGN;
	my_action.sa_flags = 0;
	memset(&my_action.sa_mask, 0, sizeof(my_action.sa_mask));

	result = sigaction(SIGHUP, &my_action, NULL);
	assert(result == 0);
}

void program_child_handler(void (*child_handler)(int))
{
	struct sigaction my_action;
	int result;

	my_action.sa_handler = child_handler;
	my_action.sa_flags = SA_NOCLDSTOP;
	memset(&my_action.sa_mask, 0, sizeof(my_action.sa_mask));

	result = sigaction(SIGCHLD, &my_action, NULL);
	assert(result == 0);
}

void program_handler(int signum, void (*handler)(int))
{
	struct sigaction my_action;
	int result;

	my_action.sa_handler = handler;
	my_action.sa_flags = 0;
	memset(&my_action.sa_mask, 0, sizeof(my_action.sa_mask));

	result = sigaction(signum, &my_action, NULL);
	assert(result == 0);
}