diff options
author | Ruslan Ermilov <ru@nginx.com> | 2017-11-28 12:00:24 +0300 |
---|---|---|
committer | Ruslan Ermilov <ru@nginx.com> | 2017-11-28 12:00:24 +0300 |
commit | afad21917584e9b452ba33ce3485edde5615b859 (patch) | |
tree | 883222e33a8203c4023017f7536b040c48a881cb /src/os/unix/ngx_daemon.c | |
parent | 7a7fc708fb7f6739dc6652ee1f14da1f9e24650d (diff) | |
download | nginx-afad21917584e9b452ba33ce3485edde5615b859.tar.gz nginx-afad21917584e9b452ba33ce3485edde5615b859.zip |
Fixed "changing binary" when reaper is not init.
On some systems, it's possible that reaper of orphaned processes is
set to something other than "init" process. On such systems, the
changing binary procedure did not work.
The fix is to check if PPID has changed, instead of assuming it's
always 1 for orphaned processes.
Diffstat (limited to 'src/os/unix/ngx_daemon.c')
-rw-r--r-- | src/os/unix/ngx_daemon.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/os/unix/ngx_daemon.c b/src/os/unix/ngx_daemon.c index ab6721108..385c49b6c 100644 --- a/src/os/unix/ngx_daemon.c +++ b/src/os/unix/ngx_daemon.c @@ -26,6 +26,7 @@ ngx_daemon(ngx_log_t *log) exit(0); } + ngx_parent = ngx_pid; ngx_pid = ngx_getpid(); if (setsid() == -1) { |