Comments about EINTR.
[gnulib.git] / ChangeLog
index 440a244..79b10be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,162 @@
+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:
+       * modules/timespec-add, modules/timespec-sub: New files.
+
+       dtotimespec: new module
+       * lib/timespec.h (dtotimespec): New decl.
+       * lib/dtotimespec.c, modules/dtotimespec: New files.
+
+       * lib/timespec.h (timespec_sign, timespectod): New inline functions.
+
+       pselect: new module
+       * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
+       (pselect): New decls.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
+       since the standard pselect decl uses 'restrict'.
+       (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
+       HAVE_PSELECT, REPLACE_PSELECT.
+       * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
+       HAVE_PSELECT, REPLACE_PSELECT.
+       * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
+
+       sys_select: don't depend on sys_socket
+       This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
+       This fix works on GNU and GNU-like platforms, but has not been tested
+       on native Windows.
+       * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
+       gl_HEADER_SYS_SOCKET.
+       * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
+       gl_PREREQ_SYS_H_WINSOCK2.
+
+2011-06-29  Eric Blake  <eblake@redhat.com>
+
+       pipe2: fix C89 compile problem
+       * lib/pipe2.c (pipe2): Avoid C99 array initialization.
+       Reported by Bruno Haible.
+
+       pipe, pipe2: don't corrupt fd on error
+       * lib/pipe.c (pipe): Leave fd unchanged on error.
+       * lib/pipe2.c (pipe2): Likewise.
+       * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
+       * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
+
+2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
+
+       mmap-anon: do not use regular expressions inadvertently
+       * m4/mmap-anon.m4: Remove trailing period from strings sought
+       in the output.
+
+2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       nanosleep: fix integer overflow problem
+       * lib/nanosleep.c (my_usleep): Don't assume signed integer
+       arithmetic wraps around on overflow.
+
+       nanosleep: simplify carrying
+       * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
+       first call to the underyling nanosleep, not for the last one.
+       This doesn't fix any bugs, but it simplifies the computation of
+       the remaining delay.  Found while auditing integer overflow issues.
+
+       dup2: remove test for existence of fcntl
+       * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
+       "#if HAVE_FCNTL", in the configure-time test program.
+       This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
+       and therefore speeds up "configure" a bit.  Found while
+       adding the dup2 module to Emacs.
+
+2011-06-24  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: enhance useless header checks
+       * top/maint.mk (_sc_header_without_use): Check both include
+       styles.
+       (sc_prohibit_assert_without_use)
+       (sc_prohibit_close_stream_without_use)
+       (sc_prohibit_getopt_without_use)
+       (sc_prohibit_quotearg_without_use)
+       (sc_prohibit_quote_without_use)
+       (sc_prohibit_long_options_without_use)
+       (sc_prohibit_inttostr_without_use)
+       (sc_prohibit_ignore_value_without_use)
+       (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
+       (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
+       (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
+       (sc_prohibit_hash_pjw_without_use)
+       (sc_prohibit_safe_read_without_use)
+       (sc_prohibit_argmatch_without_use)
+       (sc_prohibit_canonicalize_without_use)
+       (sc_prohibit_root_dev_ino_without_use)
+       (sc_prohibit_openat_without_use)
+       (sc_prohibit_c_ctype_without_use)
+       (sc_prohibit_signal_without_use)
+       (sc_prohibit_stdio--_without_use)
+       (sc_prohibit_stdio-safer_without_use)
+       (sc_prohibit_strings_without_use)
+       (sc_prohibit_intprops_without_use)
+       (sc_prohibit_stddef_without_use)
+       (sc_prohibit_xfreopen_without_use): Update clients.
+
+2011-06-24  Jim Meyering  <meyering@redhat.com>
+
+       syntax-check: keep one maint.mk rule in sync with its header
+       * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
+       of the bug Eric has just fixed, with today's commit 25e4c2ec.
+       I prefer to avoid temporary files here, so use <(...), but that
+       is not supported by /bin/sh, so...
+       (SHELL): Define to /bin/bash.
+
+2011-06-24  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: update sc_prohibit_intprops_without_use
+       * top/maint.mk (_intprops_names): Match recent changes.
+
+2011-06-24  Bruno Haible  <bruno@clisp.org>
+
+       strerror-override: No-op tweak.
+       * lib/strerror-override.h (strerror_override): Reorder conditions,
+       for consistency with lib/strerror-override.c.
+
+2011-06-23  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: test further PATH_MAX issues
+       * top/maint.mk (sc_prohibit_path_max_array): Rename...
+       (sc_prohibit_path_max_allocation): ...and also test alloca.
+       Suggested by Jim Meyering.
+
 2011-06-22  Eric Blake  <eblake@redhat.com>
 
+       maint.mk: add syntax-check to avoid char[PATH_MAX]
+       * top/maint.mk (sc_prohibit_path_max_array): New rule.
+
+       stat: be robust to PATH_MAX definition
+       * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
+       * modules/stat (Depends-on): Add verify.
+
        link: work around IRIX bug
        * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
        * lib/link.c (rpl_link): Work around it.