commit 3841a3693094ae7cc3cfd4f80da7f463e2756bcc from: Omar Polo date: Tue Apr 20 09:53:03 2021 UTC restore signal handlers before exec'ing CGI scripts commit - 74c0c7e4ce3d0e576ce14a8928a9972d15010c1f commit + 3841a3693094ae7cc3cfd4f80da7f463e2756bcc blob - b8590f153c10e7b6ecd113d9c1f40cec24cd2b3f blob + 73d990edb34b8619d836f0d388751051fb2b5b04 --- ex.c +++ ex.c @@ -64,6 +64,13 @@ do_exec(const char *ex, const char *spath, char *query char **argv, buf[PATH_MAX], *sname, *t; size_t i, n; + /* restore the default handlers */ + signal(SIGPIPE, SIG_DFL); + signal(SIGCHLD, SIG_DFL); + signal(SIGHUP, SIG_DFL); + signal(SIGINT, SIG_DFL); + signal(SIGTERM, SIG_DFL); + strlcpy(buf, spath, sizeof(buf)); sname = basename(buf); blob - e125d90c1af96db04be1dc75ba1abe6242c6516d blob + 928b1a6f0e77ced90c9dcf192562938c7047a24f --- gmid.c +++ gmid.c @@ -512,9 +512,6 @@ main(int argc, char **argv) puts("config OK"); return 0; } - - signal(SIGPIPE, SIG_IGN); - signal(SIGCHLD, SIG_IGN); if (!conf.foreground && !configless) { if (daemon(1, 1) == -1) @@ -531,6 +528,9 @@ main(int argc, char **argv) if (conf.ipv6) sock6 = make_socket(conf.port, AF_INET6); + signal(SIGPIPE, SIG_IGN); + signal(SIGCHLD, SIG_IGN); + if (configless) { setup_configless(argc, argv, cgi); return 0;