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

typedef void (*sighandler_t)(int);

void sig_handler(int signo);
void new_handler(int signo);

int
main(int argc, char *argv[])
{
    sighandler_t orig;

    printf("repeatedly press Control-C\n");
    signal(SIGINT, sig_handler);
    pause();

    orig = signal(SIGINT, new_handler);
    pause();

    signal(SIGINT, orig);
    pause();

    exit(EXIT_SUCCESS);
}

void
sig_handler(int signo)
{
    printf("sig_handler\n");
}

void new_handler(int signo)
{
    printf("new handler\n");
}
