summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--src/csplit.c21
-rw-r--r--src/ls.c25
-rw-r--r--src/sort.c21
4 files changed, 73 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 26d0760a6..7ee47f30f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2007-01-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Standardize on list of signals when an app catches signals.
+ * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL,
+ SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ.
+ * src/ls.c (main): Likewise (except SIGPIPE was already caught).
+ Note that ls.c is special, as it also catches SIGTSTP.
+ * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>.
+
2007-01-19 Dan Hipschman <dsh@linux.ucla.edu>
and Paul Eggert <eggert@cs.ucla.edu>
diff --git a/src/csplit.c b/src/csplit.c
index 382fd6621..a26c80df3 100644
--- a/src/csplit.c
+++ b/src/csplit.c
@@ -1402,7 +1402,26 @@ main (int argc, char **argv)
{
int i;
- static int const sig[] = { SIGHUP, SIGINT, SIGQUIT, SIGTERM };
+ static int const sig[] =
+ {
+ /* The usual suspects. */
+ SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM,
+#ifdef SIGPOLL
+ SIGPOLL,
+#endif
+#ifdef SIGPROF
+ SIGPROF,
+#endif
+#ifdef SIGVTALRM
+ SIGVTALRM,
+#endif
+#ifdef SIGXCPU
+ SIGXCPU,
+#endif
+#ifdef SIGXFSZ
+ SIGXFSZ,
+#endif
+ };
enum { nsigs = sizeof sig / sizeof sig[0] };
#if SA_NOCLDSTOP
diff --git a/src/ls.c b/src/ls.c
index feba59141..3864ed00c 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -1113,8 +1113,29 @@ main (int argc, char **argv)
int n_files;
/* The signals that are trapped, and the number of such signals. */
- static int const sig[] = { SIGHUP, SIGINT, SIGPIPE,
- SIGQUIT, SIGTERM, SIGTSTP };
+ static int const sig[] =
+ {
+ /* This one is handled specially. */
+ SIGTSTP,
+
+ /* The usual suspects. */
+ SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM,
+#ifdef SIGPOLL
+ SIGPOLL,
+#endif
+#ifdef SIGPROF
+ SIGPROF,
+#endif
+#ifdef SIGVTALRM
+ SIGVTALRM,
+#endif
+#ifdef SIGXCPU
+ SIGXCPU,
+#endif
+#ifdef SIGXFSZ
+ SIGXFSZ,
+#endif
+ };
enum { nsigs = sizeof sig / sizeof sig[0] };
#if ! SA_NOCLDSTOP
diff --git a/src/sort.c b/src/sort.c
index 326866f29..8a2279637 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -2350,7 +2350,26 @@ main (int argc, char **argv)
{
size_t i;
- static int const sig[] = { SIGHUP, SIGINT, SIGPIPE, SIGTERM };
+ static int const sig[] =
+ {
+ /* The usual suspects. */
+ SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM,
+#ifdef SIGPOLL
+ SIGPOLL,
+#endif
+#ifdef SIGPROF
+ SIGPROF,
+#endif
+#ifdef SIGVTALRM
+ SIGVTALRM,
+#endif
+#ifdef SIGXCPU
+ SIGXCPU,
+#endif
+#ifdef SIGXFSZ
+ SIGXFSZ,
+#endif
+ };
enum { nsigs = sizeof sig / sizeof sig[0] };
#if SA_NOCLDSTOP