Mercurial > emacs
annotate lib-src/=wakeup.c @ 4510:10baf5e7550f
(timezone-fix-time, timezone-zone-to-minute): Simplify with `abs'
and `floor' functions instead of doing it ourselves.
author | Paul Eggert <eggert@twinsun.com> |
---|---|
date | Tue, 10 Aug 1993 04:14:17 +0000 |
parents | d253c8a4b7e5 |
children | 1fc792473491 |
rev | line source |
---|---|
77 | 1 /* Program to produce output at regular intervals. */ |
2 | |
4127
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
3 #include "config.h" |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
4 |
77 | 5 #include <stdio.h> |
4127
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
6 #include <sys/types.h> |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
7 |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
8 #ifdef TIME_WITH_SYS_TIME |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
9 #include <sys/time.h> |
77 | 10 #include <time.h> |
4127
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
11 #else |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
12 #ifdef HAVE_SYS_TIME_H |
3437 | 13 #include <sys/time.h> |
4127
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
14 #else |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
15 #include <time.h> |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
16 #endif |
d253c8a4b7e5
* wakeup.c: Use CPP tangle from autoconf manual to #include the
Jim Blandy <jimb@redhat.com>
parents:
3572
diff
changeset
|
17 #endif |
77 | 18 |
19 struct tm *localtime (); | |
20 | |
21 main (argc, argv) | |
22 int argc; | |
23 char **argv; | |
24 { | |
25 int period = 60; | |
3336
44df7395bed8
(main): Make when a time_t.
Richard M. Stallman <rms@gnu.org>
parents:
366
diff
changeset
|
26 time_t when; |
77 | 27 struct tm *tp; |
28 | |
29 if (argc > 1) | |
30 period = atoi (argv[1]); | |
31 | |
32 while (1) | |
33 { | |
366 | 34 /* Make sure wakeup stops when Emacs goes away. */ |
35 if (getppid () == 1) | |
36 exit (0); | |
77 | 37 printf ("Wake up!\n"); |
38 fflush (stdout); | |
39 /* If using a period of 60, produce the output when the minute | |
40 changes. */ | |
41 if (period == 60) | |
42 { | |
43 time (&when); | |
44 tp = localtime (&when); | |
45 sleep (60 - tp->tm_sec); | |
46 } | |
47 else | |
48 sleep (period); | |
49 } | |
50 } |