Include signal.h.

(SIGCHLD): Define to SIGCLD if SIGCLD is defined but SIGCHLD is not.
(main): Ensure SIGCHLD is not ignored, so that we can fork and wait.
This commit is contained in:
Paul Eggert
1999-07-03 00:00:19 +00:00
parent 6f1783ad43
commit a8c32ecff2

View File

@@ -20,6 +20,11 @@
#include <getopt.h>
#include <signal.h>
#if ! defined SIGCHLD && defined SIGCLD
# define SIGCHLD SIGCLD
#endif
/* The following causes "common.h" to produce definitions of all the global
variables, rather than just "extern" declarations of them. GNU tar does
depend on the system loader to preset all GLOBAL variables to neutral (or
@@ -1116,6 +1121,11 @@ main (int argc, char *const *argv)
xmalloc (sizeof (const char *) * allocated_archive_names);
archive_names = 0;
#ifdef SIGCHLD
/* System V fork+wait does not work if SIGCHLD is ignored. */
signal (SIGCHLD, SIG_DFL);
#endif
init_names ();
/* Decode options. */