#include <sys/file.h>
#include <sys/time.h>
#include <sys/wait.h>
+#include <signal.h>
#include <ctype.h>
#include <sms.h>
#include <sms_app.h>
struct save_queue *sq, *sq_create();
char *service, dfgen_prog[64], dfgen_cmd[128];
struct service svc;
- int status, lock_fd, ex;
+ int status, lock_fd, ex, (*cstat)();
struct timezone tz;
register char *p;
union wait waits;
}
com_err(whoami, status, " running %s", dfgen_prog);
+ cstat = signal(SIGCHLD, SIG_DFL);
waits.w_status = system(dfgen_cmd);
+ signal(SIGCHLD, cstat);
if (waits.w_termsig) {
status = SMS_TAR_FAIL;
com_err(whoami, status, " %s exited on signal %d",