# With verbose logging on, HP-UX 9.x and AIX 4.1 leave zombies behind when
# SIGCHLD is not ignored. Enable next macro for a fix.
#
-# ZOMBIES = -DIGNORE_SIGCHLD # AIX 4.x, HP-UX 9.x
+ZOMBIES = -DIGNORE_SIGCHLD # AIX 4.x, HP-UX 9.x
# Uncomment the following macro if your system does not have u_long.
#
#endif
static void reg_service(struct svc_req *rqstp, SVCXPRT *xprt);
+#ifndef IGNORE_SIGCHLD /* Lionel Cons <cons@dxcern.cern.ch> */
static void reap(int);
+#endif
static void callit(struct svc_req *rqstp, SVCXPRT *xprt);
struct pmaplist *pmaplist;
int debugging = 0;
#else
(void)signal(SIGCHLD, reap);
#endif
+ (void)signal(SIGPIPE, SIG_IGN);
svc_run();
syslog(LOG_ERR, "run_svc returned unexpectedly");
abort();
exit(0);
}
+#ifndef IGNORE_SIGCHLD /* Lionel Cons <cons@dxcern.cern.ch> */
static void reap(int ignore)
{
int save_errno = errno;
while (wait3((int *)NULL, WNOHANG, (struct rusage *)NULL) > 0);
errno = save_errno;
}
+#endif