New module 'write'.
[pspp] / ChangeLog
index bf4e95dbe396ba7530608d342890f9ec1fb0803b..2e9c8dbedb0fee8fe34067ae170656cee839edce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,87 @@
+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.