view lib-src/=wakeup.c @ 2660:b70f4760d769

Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>: * s/mach2.h: copied from the Emacs 18.59 distribution. Don't define NO_REMAP, define START_FILES as `pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the default `-lm -lc' (there is no libc on the NeXT). * ymakefile (STARTFILES): Allow config.h to set this value even if ORDINARY_LINK is defined. * unexnext.c: Fix subdirectories for the machine dependent include files for NeXTStep 3.0; #include <mach/mach.h> and <mach-o/loader.h> instead of <mach.h> and <sys/loader.h>. (getsectbyname): Remove prototype for this; the system #include files take care of that. (malloc_cookie): New variable. (unexec_doit): Set malloc_cookie to the result returned by malloc_freezedry. * emacs.c (main): Declare malloc_cookie to be extern, so that we can get the value set when we dumped and pass it to malloc_jumpstart. * systime.h: The NeXT has a timezone function.
author Jim Blandy <jimb@redhat.com>
date Tue, 04 May 1993 02:44:16 +0000
parents f756ede77561
children 44df7395bed8
line wrap: on
line source

/* Program to produce output at regular intervals.  */

#include <stdio.h>
#include <time.h>

struct tm *localtime ();

main (argc, argv)
     int argc;
     char **argv;
{
  int period = 60;
  long when;
  struct tm *tp;

  if (argc > 1)
    period = atoi (argv[1]);

  while (1)
    {
      /* Make sure wakeup stops when Emacs goes away.  */
      if (getppid () == 1)
	exit (0);
      printf ("Wake up!\n");
      fflush (stdout);
      /* If using a period of 60, produce the output when the minute
	 changes. */
      if (period == 60)
	{
	  time (&when);
	  tp = localtime (&when);
	  sleep (60 - tp->tm_sec);
	}
      else
	sleep (period);
    }
}