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

void sig_handler(int signo);

int
main(int argc, char *argv[])
{
    int n, s;

    signal(SIGINT, sig_handler);

    s = n = 5;
    while ((s = sleep(s)))
        printf("\tresume sleeping with s=%d\n", s);
    printf("\nslept %d seconds\n", n);
    exit(EXIT_SUCCESS);
}

void
sig_handler(int signo)
{
    printf("signal ^C catched");
}
