Many functions moved to other files, some rewritten. See ChangeLog entry.
[emacs.git] / lib-src / wakeup.c
blob9c8838dbc136f8e592abc80409614b4311b85cb5
1 /* Program to produce output at regular intervals. */
3 #include <config.h>
5 #include <stdio.h>
6 #include <sys/types.h>
8 #ifdef TIME_WITH_SYS_TIME
9 #include <sys/time.h>
10 #include <time.h>
11 #else
12 #ifdef HAVE_SYS_TIME_H
13 #include <sys/time.h>
14 #else
15 #include <time.h>
16 #endif
17 #endif
19 struct tm *localtime ();
21 void
22 main (argc, argv)
23 int argc;
24 char **argv;
26 int period = 60;
27 time_t when;
28 struct tm *tp;
30 if (argc > 1)
31 period = atoi (argv[1]);
33 while (1)
35 /* Make sure wakeup stops when Emacs goes away. */
36 if (getppid () == 1)
37 exit (0);
38 printf ("Wake up!\n");
39 fflush (stdout);
40 /* If using a period of 60, produce the output when the minute
41 changes. */
42 if (period == 60)
44 time (&when);
45 tp = localtime (&when);
46 sleep (60 - tp->tm_sec);
48 else
49 sleep (period);