summaryrefslogtreecommitdiffstats
path: root/src/dhcpcd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-01-16 03:20:53 +0000
committerRoy Marples <roy@marples.name>2020-01-16 03:20:53 +0000
commit57136ee25b4a822515cb9ed34c135927582f0db5 (patch)
tree30978f22023a3398e216698a3c4d77e02010634a /src/dhcpcd.c
parent37c0c040daa8cc8b83dd8cb9b5d94df33d946264 (diff)
downloaddhcpcd-57136ee25b4a822515cb9ed34c135927582f0db5.tar.xz
dhcpcd: Ignore SIGPIPE, prefer EPIPE.
This is mainly to get dhcpcd running in privsep on my ERLITE router running some NetBSD pre-9 branch. So far, seems harmless....
Diffstat (limited to 'src/dhcpcd.c')
-rw-r--r--src/dhcpcd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dhcpcd.c b/src/dhcpcd.c
index 1796e5c9..74a04e3a 100644
--- a/src/dhcpcd.c
+++ b/src/dhcpcd.c
@@ -81,7 +81,6 @@ const int dhcpcd_signals[] = {
SIGHUP,
SIGUSR1,
SIGUSR2,
- SIGPIPE
};
const size_t dhcpcd_signals_len = __arraycount(dhcpcd_signals);
#endif
@@ -1374,9 +1373,6 @@ dhcpcd_signal_cb(int sig, void *arg)
if (logopen(ctx->logfile) == -1)
logerr(__func__);
return;
- case SIGPIPE:
- logwarnx("received SIGPIPE");
- return;
default:
logerrx("received signal %d but don't know what to do with it",
sig);
@@ -1842,7 +1838,11 @@ printpidfile:
logerr("%s: eloop_init", __func__);
goto exit_failure;
}
+
#ifdef USE_SIGNALS
+ /* Ingore SIGPIPE, prefer EPIPE. */
+ signal(SIGPIPE, SIG_IGN);
+
/* Save signal mask, block and redirect signals to our handler */
if (eloop_signal_set_cb(ctx.eloop,
dhcpcd_signals, dhcpcd_signals_len,