#include <signal.h>
#include <stdlib.h>
#include "signal_action.h"

int signal_action(int signum, void (*sighandler)(int)) {
    struct sigaction act;

    act.sa_handler = sighandler;
    /* Block all signals in the signal handler */
    sigfillset(&act.sa_mask);
    act.sa_flags = 0;
    return sigaction(signum, &act, NULL);
}


syntax highlighted by Code2HTML, v. 0.9.1