From 66dd371c433e86c6b6f95c390faa02dafbafc475 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Loyet?= Date: Sun, 17 Jul 2011 14:28:31 +0000 Subject: [PATCH] fix revision r313323 --- sapi/fpm/fpm/fpm.h | 1 - sapi/fpm/fpm/fpm_children.c | 11 +++++++++-- sapi/fpm/fpm/fpm_conf.c | 1 - 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sapi/fpm/fpm/fpm.h b/sapi/fpm/fpm/fpm.h index bfe2be8d1e..3c6f798fba 100644 --- a/sapi/fpm/fpm/fpm.h +++ b/sapi/fpm/fpm/fpm.h @@ -24,7 +24,6 @@ struct fpm_globals_s { int max_requests; /* for this child */ int is_child; int test_successful; - int process_max; /* global */ }; extern struct fpm_globals_s fpm_globals; diff --git a/sapi/fpm/fpm/fpm_children.c b/sapi/fpm/fpm/fpm_children.c index fbe9d980d8..769c519a85 100644 --- a/sapi/fpm/fpm/fpm_children.c +++ b/sapi/fpm/fpm/fpm_children.c @@ -375,7 +375,14 @@ int fpm_children_make(struct fpm_worker_pool_s *wp, int in_event_loop, int nb_to max = wp->config->pm_max_children; } - while (fpm_pctl_can_spawn_children() && wp->running_children < max && fpm_globals.running_children < fpm_global_config.process_max) { + /* + * fork children while: + * - fpm_pctl_can_spawn_children : FPM is running in a NORMAL state (aka not restart, stop or reload) + * - wp->running_children < max : there is less than the max process for the current pool + * - (fpm_global_config.process_max < 1 || fpm_globals.running_children < fpm_global_config.process_max): + * if fpm_global_config.process_max is set, FPM has not fork this number of processes (globaly) + */ + while (fpm_pctl_can_spawn_children() && wp->running_children < max && (fpm_global_config.process_max < 1 || fpm_globals.running_children < fpm_global_config.process_max)) { warned = 0; child = fpm_resources_prepare(wp); @@ -410,7 +417,7 @@ int fpm_children_make(struct fpm_worker_pool_s *wp, int in_event_loop, int nb_to } - if (!warned && fpm_globals.running_children >= fpm_global_config.process_max) { + if (!warned && fpm_global_config.process_max > 0 && fpm_globals.running_children >= fpm_global_config.process_max) { warned = 1; zlog(ZLOG_WARNING, "The maximum number of processes has been reached. Please review your configuration and consider raising 'process.max'"); } diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index 755346fa6f..edb514f1be 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1020,7 +1020,6 @@ static int fpm_conf_post_process(TSRMLS_D) /* {{{ */ zlog(ZLOG_ERROR, "process_max can't be negative"); return -1; } - fpm_globals.process_max = fpm_global_config.process_max; if (!fpm_global_config.error_log) { fpm_global_config.error_log = strdup("log/php-fpm.log"); -- 2.40.0