Mercurial > hg > octave-lojdl > gnulib-hg
changeset 14594:e270695eecd5
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.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 19 Apr 2011 10:38:30 +0200 |
parents | 506583b3e66a |
children | 32d72ffe29dd |
files | ChangeLog doc/posix-functions/open.texi m4/nonblocking.m4 m4/open.m4 modules/nonblocking |
diffstat | 5 files changed, 31 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +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.
--- a/doc/posix-functions/open.texi +++ b/doc/posix-functions/open.texi @@ -14,6 +14,10 @@ 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
--- a/m4/nonblocking.m4 +++ b/m4/nonblocking.m4 @@ -1,4 +1,4 @@ -# 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, @@ -6,6 +6,8 @@ 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 @@ -20,4 +22,8 @@ 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 ])
--- a/m4/open.m4 +++ b/m4/open.m4 @@ -1,4 +1,4 @@ -# 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, @@ -62,6 +62,15 @@ 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],