mahoney@shannon:ecf$ more snooze2 snooze2 snooze2.c mahoney@shannon:ecf$ more snooze2.c /*********** * snooze2.c * * on shannon : * $ gcc -O -pthread csapp.c snooze.c -o snooze * $ ./snooze 10 # control-c * * Minor changes to snooze.c * from Bryant, Randal E., David O'Hallaron. Computer Systems, 3rd Edition. ***********/ #include "csapp.h" void sigint_handler(int sig){ return; /* Catch the signal and return */ } void snooze(unsigned int secs) { unsigned int slept = sleep(secs); printf ("Slept for %d of %d secs.\n", secs - slept, secs); } int main(int argc, char **argv) { if (argc != 2) { fprintf (stderr, "usage: %s \n", argv[0]); exit(0); } if (signal(SIGINT, sigint_handler) == SIG_ERR){ /* install sigint handler */ unix_error("signal error\n"); } snooze(atoi(argv [1])); exit(0); }