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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
1 /* Program to produce output at regular intervals. */
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
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
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
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
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
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
274570106c6a Include sys/time.h.
Richard M. Stallman <rms@gnu.org>
parents: 3336
diff changeset
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
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
18
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
19 struct tm *localtime ();
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
20
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
21 main (argc, argv)
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
22 int argc;
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
23 char **argv;
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
24 {
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
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
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
27 struct tm *tp;
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
28
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
29 if (argc > 1)
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
30 period = atoi (argv[1]);
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
31
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
32 while (1)
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
33 {
366
f756ede77561 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 77
diff changeset
34 /* Make sure wakeup stops when Emacs goes away. */
f756ede77561 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 77
diff changeset
35 if (getppid () == 1)
f756ede77561 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 77
diff changeset
36 exit (0);
77
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
37 printf ("Wake up!\n");
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
38 fflush (stdout);
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
39 /* If using a period of 60, produce the output when the minute
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
40 changes. */
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
41 if (period == 60)
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
42 {
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
43 time (&when);
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
44 tp = localtime (&when);
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
45 sleep (60 - tp->tm_sec);
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
46 }
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
47 else
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
48 sleep (period);
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
49 }
f2a4b896fcf4 Initial revision
David J. MacKenzie <djm@gnu.org>
parents:
diff changeset
50 }