home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
-
- require 'itimers.pl';
- require 'ctime.pl';
-
- $| = 1;
-
- $SIG{'ALRM'} = 'bingo';
-
- sub bingo {
- print "ALARM @ ", &ctime(time);
- $hit++;
- }
-
- print "alarm 7 @ ", &ctime(time);
-
- do alarm(7);
-
- print "sleeping 2 seconds... ";
-
- sleep 2;
-
- printf "alarm had %g secs left\n", &alarm(0);
-
- print "resetting to 1.25 seconds\n";
-
- &alarm(1.25);
-
- do { &timeleft; } until $hit;
-
- print "escaped at \n\t", &ctime(time);
-
- sub timeleft {
- local($timeleft);
- &getitimer(&ITIMER_REAL, $timeleft) || die "can't getitimer: $!";
- ($x, $y, $s, $u) = &itimer($timeleft);
- printf("timeleft is %g\n", $s + ($u / 1e6));
- }
-