* modules/nonblocking (Depends-on): Remove 'open'.
* m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
gl_cv_have_open_O_NONBLOCK.
* m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
O_NONBLOCK support.
* doc/posix-functions/open.texi: Document support for O_NONBLOCK.
+2011-04-19 Bruno Haible <bruno@clisp.org>
+
+ Move the support of O_NONBLOCK in open() to the 'open' module.
+ * modules/nonblocking (Depends-on): Remove 'open'.
+ * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
+ gl_cv_have_open_O_NONBLOCK.
+ * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
+ O_NONBLOCK support.
+ * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
+
2011-04-17 Bruno Haible <bruno@clisp.org>
pipe2: Simplify code.
directory, on some platforms:
FreeBSD 7.2, AIX 7.1, HP-UX 11.00, Solaris 9, Irix 5.3.
@item
+This function does not support the @code{O_NONBLOCK} flag when it is defined
+by the gnulib module @code{nonblock} on some platforms:
+mingw.
+@item
On Windows platforms (excluding Cygwin), this function does usually not
recognize the @file{/dev/null} filename.
@end itemize
-# nonblocking.m4 serial 1
+# nonblocking.m4 serial 2
dnl Copyright (C) 2011 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 Tests whether non-blocking I/O is natively supported by read(), write().
dnl Sets gl_cv_have_nonblocking.
+dnl Also tests whether open() supports O_NONBLOCK.
+dnl Sets gl_cv_have_open_O_NONBLOCK.
AC_DEFUN([gl_NONBLOCKING_IO],
[
dnl Use AC_REQUIRE here, so that the default behavior below is expanded
mingw*) gl_cv_have_nonblocking=no ;;
*) gl_cv_have_nonblocking=yes ;;
esac
+ case "$host_os" in
+ mingw*) gl_cv_have_open_O_NONBLOCK=no ;;
+ *) gl_cv_have_open_O_NONBLOCK=yes ;;
+ esac
])
-# open.m4 serial 11
+# open.m4 serial 12
dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
esac
;;
esac
+ dnl Replace open() for supporting the gnulib-defined O_NONBLOCK flag.
+ m4_ifdef([gl_NONBLOCKING_IO], [
+ if test $REPLACE_OPEN = 0; then
+ gl_NONBLOCKING_IO
+ if test $gl_cv_have_open_O_NONBLOCK != yes; then
+ gl_REPLACE_OPEN
+ fi
+ fi
+ ])
])
AC_DEFUN([gl_REPLACE_OPEN],
Depends-on:
fcntl-h
ioctl
-open
stdbool
stdio
sys_socket