summaryrefslogtreecommitdiff
path: root/src/configfile.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2020-11-24 08:09:45 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2021-09-30 17:34:03 -0400
commitcc2fcd3ece8453ebcf1b302b02e7863ddf1ca88d (patch)
tree4df77abae46436797a15712d65cd2120da30d400 /src/configfile.c
parent5cab11b7ea82080d311b88f9bf49e78b3033f365 (diff)
downloadlighttpd-git-cc2fcd3ece8453ebcf1b302b02e7863ddf1ca88d.tar.gz
[multiple] _WIN32 fdevent_pipe_cloexec()
Note: Under _WIN32, serious limitation in Windows APIs: select() and WSAPoll() operate only on sockets (not pipes) (directly affects mod_cgi; not currently handled)
Diffstat (limited to 'src/configfile.c')
-rw-r--r--src/configfile.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/configfile.c b/src/configfile.c
index 409f5e2a..84138845 100644
--- a/src/configfile.c
+++ b/src/configfile.c
@@ -2240,7 +2240,7 @@ int config_parse_cmd(server *srv, config_t *context, const char *cmd) {
}
}
- if (pipe(fds)) {
+ if (fdevent_pipe_cloexec(fds, 65536)) {
log_perror(srv->errh, __FILE__, __LINE__, "pipe()");
ret = -1;
}
@@ -2253,7 +2253,6 @@ int config_parse_cmd(server *srv, config_t *context, const char *cmd) {
*(const char **)&args[2] = cmd;
args[3] = NULL;
- fdevent_setfd_cloexec(fds[0]);
pid = fdevent_fork_execve(args[0], args, NULL, -1, fds[1], -1, -1);
if (-1 == pid) {
log_perror(srv->errh, __FILE__, __LINE__, "fork/exec(%s)", cmd);