aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_process.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-06-23 15:18:17 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-06-23 15:18:17 +0000
commite0207bb8eb230d4750c4f328af9afbb79051a026 (patch)
tree52ef71bd64235f9a7ccf0b9faf4666179aa2a9aa /src/os/unix/ngx_process.c
parenta1796d747c556e0dc8114e4e39aca6e57a8285f9 (diff)
downloadnginx-e0207bb8eb230d4750c4f328af9afbb79051a026.tar.gz
nginx-e0207bb8eb230d4750c4f328af9afbb79051a026.zip
nginx-0.0.7-2004-06-23-19:18:17 import
Diffstat (limited to 'src/os/unix/ngx_process.c')
-rw-r--r--src/os/unix/ngx_process.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/os/unix/ngx_process.c b/src/os/unix/ngx_process.c
index 799eabee3..d6e2d390d 100644
--- a/src/os/unix/ngx_process.c
+++ b/src/os/unix/ngx_process.c
@@ -65,6 +65,22 @@ ngx_pid_t ngx_spawn_process(ngx_cycle_t *cycle,
return NGX_ERROR;
}
+ if (fcntl(ngx_processes[s].channel[0], F_SETFD, FD_CLOEXEC) == -1) {
+ ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+ "fcntl(FD_CLOEXEC) failed while spawning \"%s\"",
+ name);
+ ngx_close_channel(ngx_processes[s].channel, cycle->log);
+ return NGX_ERROR;
+ }
+
+ if (fcntl(ngx_processes[s].channel[1], F_SETFD, FD_CLOEXEC) == -1) {
+ ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+ "fcntl(FD_CLOEXEC) failed while spawning \"%s\"",
+ name);
+ ngx_close_channel(ngx_processes[s].channel, cycle->log);
+ return NGX_ERROR;
+ }
+
ngx_channel = ngx_processes[s].channel[1];
} else {