view lib-src/=wakeup.c @ 27406:fb36ccd8457c

(w32_fill_rect): Do not try to deal with NULL hdc here. Callers changed to always pass real device context. (w32_draw_bitmap): Likewise. (w32_get_glyph_overhangs): Likewise. (w32_draw_box_rect): Make use of s->hdc rather than getting a new one. (w32_set_vertical_scroll_bar): Pass correct HWND parameters to pfnSetScrollInfo and SetScrollRange. (x_get_char_face_and_encoding): Don't turn iso8859-1 characters back into MULE characters after decoding them. (x_get_glyph_face_and_encoding): Likewise. (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when GetCharABCWidthsW fails, since this is defined on Windows 9x. (x_produce_glyphs): Calculate per char metrics for a character that we know exists in default font when font_not_found_p is true.
author Jason Rumney <jasonr@gnu.org>
date Sun, 23 Jan 2000 22:15:12 +0000
parents f41d9619ffc4
children
line wrap: on
line source

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

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <sys/types.h>

#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#else
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#else
#include <time.h>
#endif
#endif

struct tm *localtime ();

void
main (argc, argv)
     int argc;
     char **argv;
{
  int period = 60;
  time_t 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);
    }
}