Commit | Line | Data |
---|---|---|
58fd8a81 DM |
1 | /* Program to produce output at regular intervals. */ |
2 | ||
3 | #include <stdio.h> | |
4 | #include <time.h> | |
5 | ||
6 | struct tm *localtime (); | |
7 | ||
8 | main (argc, argv) | |
9 | int argc; | |
10 | char **argv; | |
11 | { | |
12 | int period = 60; | |
13 | long when; | |
14 | struct tm *tp; | |
15 | ||
16 | if (argc > 1) | |
17 | period = atoi (argv[1]); | |
18 | ||
19 | while (1) | |
20 | { | |
21 | printf ("Wake up!\n"); | |
22 | fflush (stdout); | |
23 | /* If using a period of 60, produce the output when the minute | |
24 | changes. */ | |
25 | if (period == 60) | |
26 | { | |
27 | time (&when); | |
28 | tp = localtime (&when); | |
29 | sleep (60 - tp->tm_sec); | |
30 | } | |
31 | else | |
32 | sleep (period); | |
33 | } | |
34 | } |