#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <err.h>
#include <signal.h>

void sig_handler(int signo);

int
main(int argc, char *argv[])
{
    struct sigaction sa;
    sa.sa_handler = sig_handler;
    sa.sa_flags = SA_RESETHAND;

    printf("type Control-C ");
    fflush(stdout);

    if (sigaction(SIGINT, &sa, NULL) == -1)
        err(EXIT_FAILURE, "sigaction");

    while (1)
        pause();

    exit(EXIT_FAILURE);
}

void
sig_handler(int signo)
{
    if (signo == SIGINT)
        printf("\ncaught signal SIGINT.\n");
}
