summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-04-09 05:00:40 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-04-09 05:00:40 +0000
commit4c8c049f7afea5d33384e7daa6c2224bf01df39a (patch)
tree42ac3cbc1f724202a0d527d2a578b248a10f5def
parented74cc7c26cb3350671ffdd6fc44da5d04685122 (diff)
downloadcoreutils-4c8c049f7afea5d33384e7daa6c2224bf01df39a.tar.xz
Signal-handling cleanup motivated by core dumps in dd.
-rw-r--r--ChangeLog59
-rw-r--r--doc/ChangeLog5
-rw-r--r--lib/ChangeLog11
-rw-r--r--m4/ChangeLog6
4 files changed, 79 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index bda37cb31..1d85ab2cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,62 @@
-2005-04-07 Jim Meyering <jim@meyering.net>
+2005-04-08 Paul Eggert <eggert@cs.ucla.edu>
* Version 5.3.1.
+ * NEWS: Document that dd no longer treats QUIT or PIPE specially,
+ and when conforming to POSIX no longer treats USR1 specially.
+ Document that dd no longer dumps core when handling signals.
+ * src/system.h (RETSIGTYPE): Remove; no longer needed. All uses
+ replaced with void.
+ * src/csplit.c (SA_NOCLDSTOP): Define to 0 if not defined.
+ All uses changed.
+ (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
+ (delete_all_files): New arg IN_SIGNAL_HANDLER, to avoid undefined
+ behavior when called from a signal handler. All uses changed.
+ (main) [!defined SA_NOCLDSTOP]:
+ Use siginterrupt to specify that system calls should be interrupted.
+ * src/dd.c: Do not include safe-read.h or full-write; no longer needed.
+ (process_signals): Add forward decl.
+ (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
+ New macros.
+ (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
+ (SA_NODEFER) [!defined SA_NODEFER]: New macro.
+ (SA_RESETHAND) [!defined SA_RESETHAND]: New macro.
+ (caught_signals, interrupt_signal, info_signal_count, catch_siginfo):
+ New vars.
+ (usage): Mention -USR1 versus -INFO.
+ (cleanup): Don't invoke print_stats; the caller must do it now.
+ All callers changed.
+ (quit): Process signals just before exiting.
+ (interrupt_handler): Simply record the signal and return.
+ (siginfo_handler): Simply increment the signal counter and return.
+ (install_handler): Remove, replacing with:
+ (install_signal_handlers, process_signals, iread, iwrite):
+ New functions. All callers to safe_read and full_write replaced
+ by iread and iwrite. All callers to install_handler replaced by
+ install_handlers.
+ * src/ls.c (SA_NOCLDSTOP): Define to 0 if not defined.
+ All uses changed.
+ (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
+ (main) [! SA_NOCLDSTOP]: Use it.
+ * src/shred.c: Remove all uses of signals; modern hosts have
+ /dev/random and don't need this gorp.
+ Do not include signal.h.
+ (env, sigill_handler, isaac_seed_machdep): Remove. All uses removed.
+ * src/sort.c (SA_NOCLDSTOP): Define to 0 if not defined.
+ All uses changed.
+ (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
+ (main) [! SA_NOCLDSTOP]: Use it.
+
+ * src/dd.c: Do not include inttostr.h, no longer needed.
+ (print_stats, main): Rewrite and simplify formats to use PRIuMAX
+ instead of umaxtostr.
+ (print_stats): Work even in languages that have special
+ forms for two of things, for r_truncate and w_bytes. We can't
+ fix delta_s in this way, since ngettext doesn't support floating-point.
+ (main): Rewrite to avoid casts.
+
+2005-04-07 Jim Meyering <jim@meyering.net>
+
Placate gcc-4's -Wuninitialized.
* src/md5sum.c (digest_check) [lint]: Initialize hex_digest to NULL.
* src/test.c (binary_operator) [lint]: Initialize lt and rt to 0.
@@ -400,7 +455,7 @@
* src/nice.c (NZERO) [NZERO == 0]: Undefine and define to 20,
to work around the invalid definition from Darwin 7.7.0.
- Test failure reported by Sébastien Maret.
+ Test failure reported by SĂ©bastien Maret.
2005-02-14 Paul Eggert <eggert@cs.ucla.edu>
diff --git a/doc/ChangeLog b/doc/ChangeLog
index a5227f00e..2dd454683 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * coreutils.texi (dd invocation): Document the distinction between
+ INFO and USR1 for dd, and the effect of POSIXLY_CORRECT here.
+
2005-04-05 Paul Eggert <eggert@cs.ucla.edu>
* doc/coreutils.texi (cat invocation, chown invocation)
diff --git a/lib/ChangeLog b/lib/ChangeLog
index b04975713..787cb7017 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,14 @@
+2005-04-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
+ that might redefine system include files.
+ (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
+ (my_usleep): Use NULL rather than (void *) 0.
+ (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
+ Use siginterrupt to specify that system calls should be interrupted.
+ (rpl_nanosleep): Move initialization of suspended closer to call of
+ my_usleep.
+
2005-04-04 Paul Eggert <eggert@cs.ucla.edu>
* getdate.y (parser_control): rels_seen is now a boolean, not a
diff --git a/m4/ChangeLog b/m4/ChangeLog
index d20ae26ee..786ae48d8 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,9 @@
+2005-04-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * jm-macros.m4 (gl_MACROS): Check for siginterrupt.
+ * nanosleep.m4 (gl_PREREQ_NANOSLEEP): Likewise.
+ * jm-macros.m4 (gl_CHECK_ALL_TYPES): Do not require AC_TYPE_SIGNAL.
+
2005-03-30 Paul Eggert <eggert@cs.ucla.edu>
* readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.