2009-11-20 Eric Blake <ebb9@byu.net>
+ nanosleep: improve port to mingw
+ * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
+ * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
+ LIB_NANOSLEEP, but only when needed.
+ * modules/select (Link): Document LIBSOCKET.
+ * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
+ enough.
+
nanosleep: work around cygwin bug
* lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
Fix logic bug when nanosleep fails. Work around cygwin 1.5.x
{
static bool initialized;
+ if (requested_delay->tv_nsec < 0 || BILLION <= requested_delay->tv_nsec)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
/* set up sig handler */
if (! initialized)
{
-# serial 29
+# serial 30
dnl From Jim Meyering.
dnl Check for the nanosleep function.
AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
AC_CHECK_HEADERS_ONCE([sys/time.h])
+ AC_REQUIRE([gl_FUNC_SELECT])
nanosleep_save_libs=$LIBS
if test "$gl_cv_func_nanosleep" = 'no (mishandles large arguments)'; then
AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], [1],
[Define to 1 if nanosleep mishandles large arguments.])
+ else
+ for ac_lib in $LIBSOCKET; do
+ case " $LIB_NANOSLEEP " in
+ *" $ac_lib "*) ;;
+ *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";;
+ esac
+ done
fi
AC_LIBOBJ([nanosleep])
gl_PREREQ_NANOSLEEP
-# select.m4 serial 2
+# select.m4 serial 3
dnl Copyright (C) 2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([gl_HEADER_SYS_SELECT])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_SOCKETS])
if test "$ac_cv_header_winsock2_h" = yes; then
AC_LIBOBJ([select])
else
Include:
<sys/select.h>
+Link:
+$(LIBSOCKET)
+
License:
LGPLv2+