mirror of
https://github.com/nginx/nginx.git
synced 2024-12-23 07:33:29 -06:00
*) exit if no workers could not be started
*) do not quit old workers if no new workers could not be started
This commit is contained in:
parent
a864311b12
commit
7b6b09f105
@ -14,7 +14,7 @@ static void ngx_process_init(ngx_cycle_t *cycle);
|
||||
static void ngx_console_init(ngx_cycle_t *cycle);
|
||||
static int __stdcall ngx_console_handler(u_long type);
|
||||
static ngx_int_t ngx_create_events(ngx_cycle_t *cycle);
|
||||
static void ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t type);
|
||||
static ngx_int_t ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t type);
|
||||
static void ngx_reopen_worker_processes(ngx_cycle_t *cycle);
|
||||
static void ngx_quit_worker_processes(ngx_cycle_t *cycle, ngx_uint_t old);
|
||||
static void ngx_terminate_worker_processes(ngx_cycle_t *cycle);
|
||||
@ -116,7 +116,9 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
|
||||
|
||||
ngx_close_listening_sockets(cycle);
|
||||
|
||||
ngx_start_worker_processes(cycle, NGX_PROCESS_RESPAWN);
|
||||
if (ngx_start_worker_processes(cycle, NGX_PROCESS_RESPAWN) == 0) {
|
||||
exit(2);
|
||||
}
|
||||
|
||||
timer = 0;
|
||||
timeout = INFINITE;
|
||||
@ -206,8 +208,9 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
|
||||
|
||||
ngx_cycle = cycle;
|
||||
|
||||
ngx_start_worker_processes(cycle, NGX_PROCESS_JUST_RESPAWN);
|
||||
ngx_quit_worker_processes(cycle, 1);
|
||||
if (ngx_start_worker_processes(cycle, NGX_PROCESS_JUST_RESPAWN)) {
|
||||
ngx_quit_worker_processes(cycle, 1);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
@ -382,7 +385,7 @@ ngx_create_events(ngx_cycle_t *cycle)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
static ngx_int_t
|
||||
ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t type)
|
||||
{
|
||||
ngx_int_t n;
|
||||
@ -394,9 +397,11 @@ ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t type)
|
||||
|
||||
for (n = 0; n < ccf->worker_processes; n++) {
|
||||
if (ngx_spawn_process(cycle, "worker", type) == NGX_INVALID_PID) {
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user