pthread: add to system <pthread.h> instead of replacing it all, for MacOS
[pspp] / ChangeLog
index bacfce312680e037e9edfde42b8e87d58a06c044..59ffe26aef714bdef08433fc74f1c6c97477fdca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,217 @@
+2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/pthread.in.h: Add split double-inclusion guard, and include
+       system <pthread.h> if there is one.  Use @@-style as in other
+       .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
+       pthread.h doesn't.
+       (pthread_mutexattr_destroy, pthread_mutexattr_init):
+       (pthread_mutexattr_settype, pthread_mutex_trylock):
+       New static inline functions, if there's no system <pthread.h>.
+       (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
+       (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
+       Approximate with mutexes if the system lacks spinlocks, as in
+       MacOS.
+       * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
+       Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
+       @@-style.  Check for spinlocks separately.
+       (gl_PTHREAD_DEFAULTS): New macro.
+       * modules/pthread: Redo to use a more typical style for in.h files.
+
+2010-09-21  Eric Blake  <eblake@redhat.com>
+
+       net_if: enhance tests
+       * tests/test-net_if.c (main): Move signature checks earlier.
+       Print failures to stderr.
+       * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
+       Document the bug that we do not yet fix.
+
+2010-09-21  Reuben Thomas  <rrt@sc3d.org>
+
+       * doc/gnulib.texi (Out of memory handling): Rewrite section to be
+       about gnulib, not GSS.
+
+2010-09-21  Reuben Thomas  <rrt@sc3d.org>
+
+       * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
+       * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
+       for Emacs.
+       * build-aux/pmccabe2html: Make Makefile.am example code more
+       cut-and-paste friendly.
+
+2010-09-21  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-net_if.c: New file.
+       * modules/net_if-tests: New file.
+
+2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       pthread: add pthread_spin_destroy
+       * lib/pthread.in.h (pthread_spin_destroy): New function.
+
+2010-09-19  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix --help output.
+       * gnulib-tool (func_usage): Fix help message.
+       Reported by Reuben Thomas <rrt@sc3d.org>.
+
+2010-09-18  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: avoid unexpanded \n in two diagnostics
+       * top/maint.mk (sc_prohibit_always_true_header_tests):
+       Don't use a literal \n in a halt=... assignment.  It would not be
+       expanded, and the two \n bytes would appear in the diagnostic output
+       rather than the desired newline.  Use halt=$$(printf ... instead.
+       (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
+
+2010-09-18  Bruno Haible  <bruno@clisp.org>
+
+       netinet_in: Doc tweak.
+       * doc/posix-headers/netinet_in.texi: Mention an affected platform.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-18  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: correct an outdated comment
+       * tests/init.sh (create_exe_shims_):  s/function/alias/
+
+       init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
+       * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
+       a file named "*.exe" is removed between the glob expansion and the
+       processing of that oddly named file.
+
+2010-09-17  Eric Blake  <eblake@redhat.com>
+
+       mirbsd: add some more support
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
+       in BSD family.
+       * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
+       devices as OpenBSD.
+       * m4/host-os.m4 (mirbsd): Add MirBSD.
+
+       tests: fix unportable assumption on sys/wait.h
+       * tests/test-sys_wait.c (main): Relax test.
+       * tests/test-stdlib.c (main): Likewise.
+
+       init.sh: accomodate directory with no .exes
+       * tests/init.sh: Accomodate directory containing only scripts.
+
+       tests: avoid compiler warning
+       * tests/test-stdlib.c (main): Use the variable.
+
+       fdutimens, fdutimensat: update signature, again
+       * lib/utimens.h (gl_futimens): Delete, and move signature...
+       (fdutimens): ...here.
+       (fdutimensat): Rearrange signature.
+       (lutimensat): Rename variable for clarity.
+       * lib/fdutimensat.c (fdutimensat): Update signature.
+       * lib/utimens.c (fdutimens): Likewise.
+       (gl_futimens): Delete.
+       (utimens, lutimens): Update callers.
+       * lib/futimens.c (futimens): Likewise.
+       * tests/test-fdutimensat.c: Likewise.
+       * tests/test-utimens.c: Likewise.
+       * tests/test-futimens.h: Update comment.
+       * NEWS: Mention this.
+       Suggested by Paul Eggert.
+
+2010-09-17  Bruno Haible  <bruno@clisp.org>
+
+       Take over the maintenance of some older macros from Autoconf.
+       * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
+       * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
+       GNU Autoconf.
+       * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
+
+2010-09-17  Eric Blake  <eblake@redhat.com>
+
+       fdutimensat: drop atflag validation
+       * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
+       with valid fd, to close a race scenario where futimens is
+       unsupported and FILE was replaced by a symlink.
+       * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
+       accordingly.
+       Suggested by Paul Eggert.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt: Fix declaration within GNULIB_POSIXCHECK.
+       * lib/stdlib.in.h (unlockpt): Fix warning declaration.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
+       * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
+       login_tty exists.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Make the replacement code work on BSD systems.
+       * lib/login_tty.c: Include <sys/ioctl.h>.
+       (login_tty): Use ioctl TIOCSCTTY when available.
+       * modules/login_tty (Depends-on): Add sys_ioctl.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Stricter unit test.
+       * modules/login_tty-tests (Depends-on): Add tcgetsid.
+       * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
+       and tcgetsid() after login_tty.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       New module 'tcgetsid'.
+       * lib/tcgetsid.c: New file.
+       * m4/tcgetsid.m4: New file.
+       * modules/tcgetsid: New file.
+       * modules/termios (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
+       GNULIB_TCGETSID, HAVE_TCGETSID.
+       * lib/termios.in.h: Include <sys/types.h>.
+       (tcgetsid): New declaration.
+       * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
+       (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
+       * doc/posix-functions/tcgetsid.texi: Mention the new module.
+       * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'termios'.
+       * modules/termios-c++-tests: New file.
+       * modules/termios-tests: New file.
+       * tests/test-termios-c++.cc: New file.
+       * tests/test-termios.c: New file.
+
+       New module 'termios'.
+       * modules/termios: New file.
+       * lib/termios.in.h: New file.
+       * m4/termios_h.m4: New file.
+       * doc/posix-headers/termios.texi: Mention the new module.
+
+2010-09-16  Eric Blake  <eblake@redhat.com>
+
+       fdutimensat: add an atflag parameter
+       * lib/fdutimensat.c (fdutimensat): Add new parameter.
+       * lib/utimens.h (fdutimensat): Update prototype.
+       * tests/test-fdutimensat.c: Adjust test to match.
+       * NEWS: Document the change.
+       Suggested by Paul Eggert.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       Fix typos in comments.
+       * lib/striconveh.h: Fix typo in comment.
+       * lib/login_tty.c (login_tty): Likewise.
+
+2010-09-15  Bruno Haible  <bruno@clisp.org>
+
+       stdlib: clarify MirBSD WEXITSTATUS bug
+       * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
 2010-09-15  Eric Blake  <eblake@redhat.com>
 
        stdlib: work around MirBSD WEXITSTATUS bug