From 26112352a774737e1ce5580c93654a26c1e82b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 24 Oct 2022 22:25:29 +0200 Subject: New upstream version 1.1 --- gnulib-m4/nanosleep.m4 | 39 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 27 deletions(-) (limited to 'gnulib-m4/nanosleep.m4') diff --git a/gnulib-m4/nanosleep.m4 b/gnulib-m4/nanosleep.m4 index 6a51f28e..dfe21f56 100644 --- a/gnulib-m4/nanosleep.m4 +++ b/gnulib-m4/nanosleep.m4 @@ -1,4 +1,4 @@ -# serial 40 +# serial 42 dnl From Jim Meyering. dnl Check for the nanosleep function. @@ -19,9 +19,6 @@ AC_DEFUN([gl_FUNC_NANOSLEEP], dnl Persuade glibc and Solaris to declare nanosleep. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_HEADERS_ONCE([sys/time.h]) - AC_REQUIRE([gl_FUNC_SELECT]) - AC_CHECK_DECLS_ONCE([alarm]) nanosleep_save_libs=$LIBS @@ -53,9 +50,6 @@ AC_DEFUN([gl_FUNC_NANOSLEEP], #include #include #include - #if HAVE_SYS_TIME_H - #include - #endif #include #include #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) @@ -106,15 +100,22 @@ AC_DEFUN([gl_FUNC_NANOSLEEP], #else /* A simpler test for native Windows. */ if (nanosleep (&ts_sleep, &ts_remaining) < 0) return 3; + /* Test for 32-bit mingw bug: negative nanosecond values do not + cause failure. */ + ts_sleep.tv_sec = 1; + ts_sleep.tv_nsec = -1; + if (nanosleep (&ts_sleep, &ts_remaining) != -1) + return 7; #endif return 0; }]])], [gl_cv_func_nanosleep=yes], - [case $? in dnl ( - 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';; dnl ( - *) gl_cv_func_nanosleep=no;; + [case $? in + 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)' ;; + 7) gl_cv_func_nanosleep='no (mishandles negative tv_nsec)' ;; + *) gl_cv_func_nanosleep=no ;; esac], - [case "$host_os" in dnl (( + [case "$host_os" in linux*) # Guess it halfway works when the kernel is Linux. gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;; mingw*) # Guess no on native Windows. @@ -135,15 +136,6 @@ AC_DEFUN([gl_FUNC_NANOSLEEP], AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], [1], [Define to 1 if nanosleep mishandles large arguments.]) ;; - *) - # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP. - for ac_lib in $LIBSOCKET; do - case " $LIB_NANOSLEEP " in - *" $ac_lib "*) ;; - *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; - esac - done - ;; esac ;; esac @@ -152,10 +144,3 @@ AC_DEFUN([gl_FUNC_NANOSLEEP], fi LIBS=$nanosleep_save_libs ]) - -# Prerequisites of lib/nanosleep.c. -AC_DEFUN([gl_PREREQ_NANOSLEEP], -[ - AC_CHECK_HEADERS_ONCE([sys/select.h]) - gl_PREREQ_SIG_HANDLER_H -]) -- cgit v1.2.3