sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
[gnulib.git] / ChangeLog
index 2369b42..8e8e34c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,165 @@
+2011-07-06  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
+       * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
+       <winsock2.h>.
+       (rpl_fd_isset, FD_ISSET): New definitions, copied from
+       lib/sys_socket.in.h.
+       (close, gethostname): Hide declarations from <winsock2.h>.
+       (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
+       listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
+       * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
+       (select): Don't override if gnulib's <sys/select.h> was already
+       included.
+       * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
+       getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
+       setsockopt, shutdown, select): Tweak indentation.
+
+2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
+       and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
+       in an application that does not use the sys_select module.
+
+2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
+
+       poll: do not return 0 on timeout=-1
+       * lib/poll.c: Loop with yield if no events occured
+
+2011-07-06  Eric Blake  <eblake@redhat.com>
+
+       pthread_sigmask: always replace when not using pthread
+       * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
+       replacement when using some threading other than pthread.  Fix
+       logic bug.
+
+2011-07-06  Bruno Haible  <bruno@clisp.org>
+
+       Comments.
+       * m4/printf.m4: Update comments about mingw.
+
+2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sys_select: define sigset_t more portably
+       * lib/sys_select.in.h: Always include <sys/types.h>, since
+       we now need sigset_t and mingw defines it there.
+       Include <signal.h> before split inclusion guard, to avoid
+       mishaps on Solaris, whose <signal.h> eventually includes us.
+       * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
+       (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
+       which come from ...
+       * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
+       gl_CHECK_TYPE_SIGSET_T.
+       (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
+       does the real work.
+       * modules/sys_select (Depends-on): Add 'signal'.
+
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
+       Suggested by Bruno Haible.
+
+       pselect: Use pthread_sigmask, not sigprocmask.
+       * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
+       multithreaded apps better than sigprocmask does.
+       * modules/pselect (Depends-on): Depend on pthread_sigmask, not
+       sigprocmask directly.
+
+2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/pselect.c (pselect): Use plain name, without "rpl_".
+       Don't #undef,  since we don't need any underlying pselect.
+       * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
+       (Depends-on): Add select.
+       (Link): Add $(LIBSOCKET).
+       These changes suggested by Bruno Haible.
+
+       pselect: document better
+       * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
+       * doc/posix-functions/pselect.texi (pselect): Document new module.
+
+       pthread_sigmask: new module
+       * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
+       * doc/posix-functions/pthread_sigmask.texi: Document new module.
+       * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
+       This is done only as a macro; I don't know how well that'll
+       work for C++.  Move <sys/types.h> include before the include_next,
+       to avoid mishap on Solaris.
+       * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
+       * modules/signal (Makefile.am): Substitute the check's results.
+       * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
+
+       test-pselect: new module
+       * modules/pselect-tests, tests/test-pselect.c: New files.
+       * tests/test-select.c, tests/test-sys_select-c++.cc:
+       If TEST_PSELECT is defined, test pselect instead of testing select.
+
+       * tests/test-sys_select.c (sigset_t): Test for it, too.
+       Suggested by Bruno Haible.
+
+2011-07-05  Eric Blake  <eblake@redhat.com>
+
+       snprintf: guarantee %1$d, for libintl
+       * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
+       * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
+       * doc/posix-functions/snprintf.texi (snprintf): Update.
+       * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
+       * tests/test-snprintf.c (main): Enhance test.
+       * tests/test-vsnprintf.c (main): Likewise.
+
+2011-07-05  Jim Meyering  <meyering@redhat.com>
+
+       maint: exempt stdio-read.c and stdio-write.c from the cppi check
+       * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
+       per Bruno's request, to accommodate this idiom (no space after "#")
+       even when the function is inside an #if block:
+       char *
+       gets (char *s)
+       #undef gets
+       {
+         ...
+       }
+
+2011-07-04  Jim Meyering  <meyering@redhat.com>
+
+       maint: indent with spaces, not TABs, and add a rule to check this
+       * tests/test-userspec.c: Indent with spaces, not TABs.
+       * tests/test-argp.c: Likewise.
+       * tests/test-c-stack2.sh: Likewise.
+       * tests/test-parse-duration.sh: Likewise
+       * m4/strtod.m4: Likewise.
+       * m4/alloca.m4: Likewise.
+       * m4/pselect.m4: Likewise.
+       * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
+
+2011-07-03  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: correct omissions in prohibit_argmatch_without_use check
+       This rule would mistakenly report that argmatch.h is included without
+       use even when both the argmatch and invalid_arg macro were used.
+       * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
+       of argmatch and invalid_arg.
+
+2011-07-03  Bruno Haible  <bruno@clisp.org>
+
+       Comments about EINTR.
+       * lib/safe-read.h: Explain the purpose of this module.
+       * lib/safe-write.h: Likewise.
+       * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
+       module.
+       * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
+       module.
+       Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
 
+       xnanosleep: Rewrite to use new dtotimespec module.
+       It has the conversion code that used to be in xnanosleep.
+       * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
+       assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
+       (TIME_T_MAX): Remove.
+       (xnanosleep): Rewrite in terms of dtotimespec.
+       * modules/xnanosleep (Depends-on): Add dtotimespec.
+       Remove intprops, stdbool.
+
        timespec-add, timespec-sub: new modules
        * lib/timespec.h (timespec_add, timespec_sub): New decls.
        * lib/timespec-add.c, lib/timespec-sub.c: