[master] d8cadd6 Ignore HUB and PIPE signals before starting child

Poul-Henning Kamp phk at FreeBSD.org
Thu Feb 23 16:54:05 CET 2017


commit d8cadd69dffe0df77e48b1edb9fc707cecdbeea2
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Thu Feb 23 15:53:18 2017 +0000

    Ignore HUB and PIPE signals before starting child
    
    Fixes #2203

diff --git a/bin/varnishd/mgt/mgt_main.c b/bin/varnishd/mgt/mgt_main.c
index 286c025..7932b24 100644
--- a/bin/varnishd/mgt/mgt_main.c
+++ b/bin/varnishd/mgt/mgt_main.c
@@ -807,6 +807,13 @@ main(int argc, char * const *argv)
 	if (!d_flag && !mgt_has_vcl() && !novcl)
 		MGT_Complain(C_ERR, "No VCL loaded yet");
 
+	memset(&sac, 0, sizeof sac);
+	sac.sa_handler = SIG_IGN;
+	sac.sa_flags = SA_RESTART;
+
+	AZ(sigaction(SIGPIPE, &sac, NULL));
+	AZ(sigaction(SIGHUP, &sac, NULL));
+
 	u = MCH_Init(d_flag || novcl ? 0 : 1);
 
 	if (eric_fd >= 0)
@@ -841,12 +848,6 @@ main(int argc, char * const *argv)
 	e->name = "mgt_sigint";
 	AZ(vev_add(mgt_evb, e));
 
-	memset(&sac, 0, sizeof sac);
-	sac.sa_handler = SIG_IGN;
-	sac.sa_flags = SA_RESTART;
-
-	AZ(sigaction(SIGPIPE, &sac, NULL));
-	AZ(sigaction(SIGHUP, &sac, NULL));
 
 	o = vev_schedule(mgt_evb);
 	if (o != 0)



More information about the varnish-commit mailing list