comparison src/os/win32/ngx_process.h @ 7162:8b84d60ef13d

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.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 28 Nov 2017 12:00:24 +0300
parents 7296b38f6416
children
comparison
equal deleted inserted replaced
7161:325b3042edd6 7162:8b84d60ef13d
12 typedef DWORD ngx_pid_t; 12 typedef DWORD ngx_pid_t;
13 #define NGX_INVALID_PID 0 13 #define NGX_INVALID_PID 0
14 14
15 15
16 #define ngx_getpid GetCurrentProcessId 16 #define ngx_getpid GetCurrentProcessId
17 #define ngx_getppid() 0
17 #define ngx_log_pid ngx_pid 18 #define ngx_log_pid ngx_pid
18 19
19 20
20 #define NGX_PROCESS_SYNC_NAME \ 21 #define NGX_PROCESS_SYNC_NAME \
21 (sizeof("ngx_cache_manager_mutex_") + NGX_INT32_LEN) 22 (sizeof("ngx_cache_manager_mutex_") + NGX_INT32_LEN)
71 72
72 extern ngx_int_t ngx_last_process; 73 extern ngx_int_t ngx_last_process;
73 extern ngx_process_t ngx_processes[NGX_MAX_PROCESSES]; 74 extern ngx_process_t ngx_processes[NGX_MAX_PROCESSES];
74 75
75 extern ngx_pid_t ngx_pid; 76 extern ngx_pid_t ngx_pid;
77 extern ngx_pid_t ngx_parent;
76 78
77 79
78 #endif /* _NGX_PROCESS_H_INCLUDED_ */ 80 #endif /* _NGX_PROCESS_H_INCLUDED_ */