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);
}