2011-09-23 Bruno Haible <bruno@clisp.org>
+ read: Support for MSVC 9.
+ * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
+ is not 1.
+ * lib/read.c (read_nothrow): New function.
+ (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
+ read_nothrow.
+ * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
+ invalid parameter handler.
+ (gl_PREREQ_READ): New macro.
+ * modules/read (Depends-on): Add msvc-inval.
+ (configure.ac): Invoke gl_PREREQ_READ.
+ * doc/posix-functions/read.texi: Mention the problem on MSVC.
+
+2011-09-23 Bruno Haible <bruno@clisp.org>
+
+ close: Support for MSVC 9.
+ * lib/close.c: Include <errno.h>, msvc-inval.h.
+ (close_nothrow): New function.
+ (rpl_close): Use it.
+ * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
+ invalid parameter handler.
+ * modules/close (Depends-on): Add msvc-inval.
+ * modules/dup2-tests (Depends-on): Add close.
+ * modules/dup3-tests (Depends-on): Likewise.
+ * modules/fcntl-tests (Depends-on): Likewise.
+ * modules/spawn-pipe-tests (Depends-on): Likewise.
+ * modules/unistd-safer-tests (Depends-on): Likewise.
+ * doc/posix-functions/close.texi: Mention the problem on MSVC.
+
+2011-09-23 Bruno Haible <bruno@clisp.org>
+
+ New module 'dup'.
+ * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
+ Allow replacement.
+ * lib/dup.c: New file.
+ * lib/fchdir.c (rpl_dup): Remove function.
+ * m4/dup.m4: New file.
+ * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
+ * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
+ (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
+ * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
+ * modules/dup: New file.
+ * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
+ 'dup' module is in use.
+ * modules/fdopendir (Depends-on): Add dup.
+ * modules/fdutimensat-tests (Depends-on): Likewise.
+ * modules/fts (Depends-on): Likewise.
+ * modules/futimens-tests (Depends-on): Likewise.
+ * modules/posix_spawnp-tests (Depends-on): Likewise.
+ * modules/unistd-safer-tests (Depends-on): Likewise.
+ * modules/utimens-tests (Depends-on): Likewise.
+ * doc/posix-functions/dup.texi: Mention the new module and the problem
+ on MSVC.
+
+2011-09-23 Bruno Haible <bruno@clisp.org>
+
+ getdtablesize: Support for MSVC 9.
+ * lib/getdtablesize.c: Include msvc-inval.h.
+ (_setmaxstdio_nothrow): New function.
+ (_setmaxstdio): Redefine it.
+ * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
+ * modules/getdtablesize (Depends-on): Add msvc-inval.
+ (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
+
+2011-09-23 Bruno Haible <bruno@clisp.org>
+
+ signal-h: Rename from signal.
+ * modules/signal-h: Renamed from modules/signal.
+ * modules/pthread_sigmask (Depends-on): Update.
+ * modules/raise (Depends-on): Likewise.
+ * modules/sigaction (Depends-on): Likewise.
+ * modules/sigpipe (Depends-on): Likewise.
+ * modules/sigprocmask (Depends-on): Likewise.
+ * modules/sys_select (Depends-on): Likewise.
+ * modules/signal-h-tests: Renamed from modules/signal-tests.
+ (Files, Depends-on, Makefile.am): Update.
+ * tests/test-signal-h.c: Renamed from tests/test-signal.c.
+ * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
+ (Files, Makefile.am): Update.
+ * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
+ * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
+ * modules/signal: New placeholder file.
+ * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
+ * doc/posix-headers/signal.texi: Update.
+ * NEWS: Mention the change.
+
+2011-09-23 Bruno Haible <bruno@clisp.org>
+
sigprocmask: Avoid crashes through signal() on MSVC 9.
* lib/sigprocmask.c: Include msvc-inval.h.
(signal_nothrow): New function.