Mercurial > hg-old > index.cgi
view m4/sleep.m4 @ 424:6d87423a979b 3.0-beta2
Added tag 3.0-beta2 for changeset 079d43b6967b
author | lost@l-w.ca |
---|---|
date | Sun, 19 Sep 2010 01:55:26 -0600 |
parents | 3c2e1f24cc7d |
children |
line wrap: on
line source
# sleep.m4 serial 3 dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl We expect to see the declaration of sleep() in a header file. dnl Older versions of mingw have a sleep() function that is an alias to dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep(): dnl it takes the number of milliseconds as argument and returns void. dnl mingw does not declare this function. AC_CHECK_DECLS([sleep], , , [#include <unistd.h>]) AC_CHECK_FUNCS_ONCE([sleep]) if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 AC_LIBOBJ([sleep]) else dnl Cygwin 1.5.x has a bug where sleep can't exceed 49.7 days. AC_CACHE_CHECK([for working sleep], [gl_cv_func_sleep_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <errno.h> #include <unistd.h> #include <signal.h> static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (2); } ]], [[ /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack sleep. */ unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ unsigned int remaining; signal (SIGALRM, handle_alarm); alarm (1); remaining = sleep (pentecost); return !(pentecost - 10 < remaining && remaining <= pentecost);]])], [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no], [gl_cv_func_sleep_works="guessing no"])]) if test "$gl_cv_func_sleep_works" != yes; then REPLACE_SLEEP=1 AC_LIBOBJ([sleep]) fi fi ])