aboutsummaryrefslogtreecommitdiff
path: root/networking/httpd.c
diff options
context:
space:
mode:
authorGravatar Denis Vlasenko <vda.linux@googlemail.com>2008-05-07 09:22:44 +0000
committerGravatar Denis Vlasenko <vda.linux@googlemail.com>2008-05-07 09:22:44 +0000
commitb153ace939f7ab2857605fe10c6ae3ebd903288a (patch)
treebf519e53dfe8cf2a1c91e00adf84a7d9f3aa53c6 /networking/httpd.c
parent06ebc16461fcb1cbf54ac0b5d73d08225fe83f22 (diff)
downloadbusybox-b153ace939f7ab2857605fe10c6ae3ebd903288a.tar.gz
busybox-b153ace939f7ab2857605fe10c6ae3ebd903288a.tar.bz2
httpd: restore HUP, CHLD and PIPE to SIG_DFL prior to execing CGI.
function old new delta send_cgi_and_exit 856 869 +13
Diffstat (limited to 'networking/httpd.c')
-rw-r--r--networking/httpd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index b4a8d277b..ed699df48 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1457,6 +1457,13 @@ static void send_cgi_and_exit(
}
}
#endif
+ /* restore default signal dispositions for CGI process */
+ bb_signals(0
+ | (1 << SIGCHLD)
+ | (1 << SIGPIPE)
+ | (1 << SIGHUP)
+ , SIG_DFL);
+
execv(fullpath, argv);
if (verbose)
bb_perror_msg("exec %s", fullpath);