New module 'write'.
[pspp] / ChangeLog
index 22bf905ac96ad3905922c3a4ea5e28699f55a7c4..2e9c8dbedb0fee8fe34067ae170656cee839edce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,111 @@
+2008-09-26  Jim Meyering  <meyering@redhat.com>
+
+       fts: tweak inode comparison function
+       * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
+       inode numbers, as documented.
+
+       fts: sort dirent entries on inode number before traversing
+       This avoids a quadratic, seek-related performance penalty when
+       operating on a directory containing many entries (measurable at 10k;
+       3.5 hours at 2 million entries with a cold cache) on certain types
+       of file systems, including ext3 and ext4, but not tmpfs.
+       * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
+       (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
+       (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
+       (fs_handles_readdir_ordered_dirents_efficiently): New function.
+       (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
+       (fts_build): Set the stat.st_ino member from D_INO.
+       If it is likely to be useful, sort dirent entries on inode number.
+
+       * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
+       and the struct statfs.f_type member.
+       * modules/fts (Depends-on): Add d-ino.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * modules/write: New file.
+       * lib/unistd.in.h: Include <sys/types.h>.
+       (write): New declaration.
+       * lib/write.c: New file.
+       * m4/write.m4: New file.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
+       * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
+       GNULIB_WRITE, REPLACE_WRITE.
+       * doc/posix-functions/write.texi: Mention the write, sigpipe modules
+       and the SIGPIPE issue.
+
+       * lib/signal.in.h (SIGPIPE): Define to a replacement value.
+       (raise): New declaration.
+       * lib/sigprocmask.c (SIGPIPE_handler): New variable.
+       (ext_signal): New function.
+       (rpl_raise): New function.
+       * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
+       GNULIB_SIGNAL_H_SIGPIPE.
+       * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
+       * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
+
+       * modules/sigpipe: New file.
+       * m4/sigpipe.m4: New file.
+
+2008-09-25  Derek Price  <derek@ximbiot.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): Report all license incompatibilities, not
+       just the first one.
+
+2008-09-25  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): When computing the edits, consider not
+       only the Makefile.ams that exist but also those that will be generated.
+
+2008-09-25  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/sys_select-tests (Depends-on): Remove sys_select itself,
+       fixes gnulib-tool --test warning about duplicate dependency.
+
+2008-09-25  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool: Don't ask the user to perform edits in the generated
+       Makefile.ams.
+       (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
+       apply to the Makefile.am being generated.
+       (func_emit_tests_Makefile_am): Execute edits that apply to the
+       Makefile.am being generated.
+       (func_import): Setup list of Makefile.am edits before emitting the
+       Makefile.ams, not at the end.
+       (func_create_testdir): Update.
+       Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
+
+2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
+
+       * gnulib-tool (func_import): Store the --tests-base option in the
+       comment in gnulib-cache.m4.
+
+2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       * NEWS: Document increased portability that sys_select now provides.
+
+       * lib/sys_select.in.h: Install select wrapper.
+       * lib/sys_socket.in.h: Use more descriptive name when there is no
+       select wrapper.
+       * lib/winsock-select.c: New.
+       * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
+       Require gl_HEADER_SYS_SOCKET.
+       * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
+       * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
+       * tests/test-sys_select.c: Add functional tests.
+
+2008-09-24  Eric Blake  <ebb9@byu.net>
+
+       open, fopen: close fd leak in last patch
+       * lib/open.c (rpl_open): Close fd before returning error.
+       * lib/fopen.c (rpl_fopen): Close fd before returning error.
+       * doc/posix-functions/open.texi (open): Document that Irix also
+       has the bug.
+       * doc/posix-functions/fopen.texi (fopen): Likewise.
+       Reported by Paolo Bonzini.
+
 2008-09-24  Bruno Haible  <bruno@clisp.org>
 
        Ensure that a filename ending in a slash cannot be used to access a