# HG changeset patch # User Igor Sysoev # Date 1249909635 0 # Node ID d82993af1da07b1d8bfbbfdfe7791d43ee17e3cf # Parent 26ac108cfc396919f3bb1a5fb19e0857943fea25 introduce NGX_PROCESS_JUST_SPAWN and change field name accordingly diff --git a/src/os/unix/ngx_process.c b/src/os/unix/ngx_process.c --- a/src/os/unix/ngx_process.c +++ b/src/os/unix/ngx_process.c @@ -214,21 +214,33 @@ ngx_spawn_process(ngx_cycle_t *cycle, ng switch (respawn) { + case NGX_PROCESS_NORESPAWN: + ngx_processes[s].respawn = 0; + ngx_processes[s].just_spawn = 0; + ngx_processes[s].detached = 0; + break; + + case NGX_PROCESS_JUST_SPAWN: + ngx_processes[s].respawn = 0; + ngx_processes[s].just_spawn = 1; + ngx_processes[s].detached = 0; + break; + case NGX_PROCESS_RESPAWN: ngx_processes[s].respawn = 1; - ngx_processes[s].just_respawn = 0; + ngx_processes[s].just_spawn = 0; ngx_processes[s].detached = 0; break; case NGX_PROCESS_JUST_RESPAWN: ngx_processes[s].respawn = 1; - ngx_processes[s].just_respawn = 1; + ngx_processes[s].just_spawn = 1; ngx_processes[s].detached = 0; break; case NGX_PROCESS_DETACHED: ngx_processes[s].respawn = 0; - ngx_processes[s].just_respawn = 0; + ngx_processes[s].just_spawn = 0; ngx_processes[s].detached = 1; break; } diff --git a/src/os/unix/ngx_process.h b/src/os/unix/ngx_process.h --- a/src/os/unix/ngx_process.h +++ b/src/os/unix/ngx_process.h @@ -27,7 +27,7 @@ typedef struct { char *name; unsigned respawn:1; - unsigned just_respawn:1; + unsigned just_spawn:1; unsigned detached:1; unsigned exiting:1; unsigned exited:1; @@ -45,9 +45,10 @@ typedef struct { #define NGX_MAX_PROCESSES 1024 #define NGX_PROCESS_NORESPAWN -1 -#define NGX_PROCESS_RESPAWN -2 -#define NGX_PROCESS_JUST_RESPAWN -3 -#define NGX_PROCESS_DETACHED -4 +#define NGX_PROCESS_JUST_SPAWN -2 +#define NGX_PROCESS_RESPAWN -3 +#define NGX_PROCESS_JUST_RESPAWN -4 +#define NGX_PROCESS_DETACHED -5 #define ngx_getpid getpid diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c @@ -456,14 +456,14 @@ ngx_signal_worker_processes(ngx_cycle_t ngx_processes[i].exited, ngx_processes[i].detached, ngx_processes[i].respawn, - ngx_processes[i].just_respawn); + ngx_processes[i].just_spawn); if (ngx_processes[i].detached || ngx_processes[i].pid == -1) { continue; } - if (ngx_processes[i].just_respawn) { - ngx_processes[i].just_respawn = 0; + if (ngx_processes[i].just_spawn) { + ngx_processes[i].just_spawn = 0; continue; } @@ -533,7 +533,7 @@ ngx_reap_children(ngx_cycle_t *cycle) ngx_processes[i].exited, ngx_processes[i].detached, ngx_processes[i].respawn, - ngx_processes[i].just_respawn); + ngx_processes[i].just_spawn); if (ngx_processes[i].pid == -1) { continue; diff --git a/src/os/win32/ngx_process.c b/src/os/win32/ngx_process.c --- a/src/os/win32/ngx_process.c +++ b/src/os/win32/ngx_process.c @@ -163,11 +163,11 @@ ngx_spawn_process(ngx_cycle_t *cycle, ch switch (respawn) { case NGX_PROCESS_RESPAWN: - ngx_processes[s].just_respawn = 0; + ngx_processes[s].just_spawn = 0; break; case NGX_PROCESS_JUST_RESPAWN: - ngx_processes[s].just_respawn = 1; + ngx_processes[s].just_spawn = 1; break; } diff --git a/src/os/win32/ngx_process.h b/src/os/win32/ngx_process.h --- a/src/os/win32/ngx_process.h +++ b/src/os/win32/ngx_process.h @@ -33,7 +33,7 @@ typedef struct { u_char quit_event[NGX_PROCESS_SYNC_NAME]; u_char reopen_event[NGX_PROCESS_SYNC_NAME]; - unsigned just_respawn:1; + unsigned just_spawn:1; unsigned exiting:1; } ngx_process_t; diff --git a/src/os/win32/ngx_process_cycle.c b/src/os/win32/ngx_process_cycle.c --- a/src/os/win32/ngx_process_cycle.c +++ b/src/os/win32/ngx_process_cycle.c @@ -440,10 +440,10 @@ ngx_quit_worker_processes(ngx_cycle_t *c ngx_processes[n].pid, ngx_processes[n].handle, ngx_processes[n].exiting, - ngx_processes[n].just_respawn); + ngx_processes[n].just_spawn); - if (old && ngx_processes[n].just_respawn) { - ngx_processes[n].just_respawn = 0; + if (old && ngx_processes[n].just_spawn) { + ngx_processes[n].just_spawn = 0; continue; } @@ -550,7 +550,7 @@ found: ngx_processes[n].pid, ngx_processes[n].handle, ngx_processes[n].exiting, - ngx_processes[n].just_respawn); + ngx_processes[n].just_spawn); if (ngx_processes[n].handle) { return 1;