77
|
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 {
|
366
|
21 /* Make sure wakeup stops when Emacs goes away. */
|
|
22 if (getppid () == 1)
|
|
23 exit (0);
|
77
|
24 printf ("Wake up!\n");
|
|
25 fflush (stdout);
|
|
26 /* If using a period of 60, produce the output when the minute
|
|
27 changes. */
|
|
28 if (period == 60)
|
|
29 {
|
|
30 time (&when);
|
|
31 tp = localtime (&when);
|
|
32 sleep (60 - tp->tm_sec);
|
|
33 }
|
|
34 else
|
|
35 sleep (period);
|
|
36 }
|
|
37 }
|