Browse Source

fix revision r313323

pull/271/head
Jérôme Loyet 15 years ago
parent
commit
66dd371c43
  1. 1
      sapi/fpm/fpm/fpm.h
  2. 11
      sapi/fpm/fpm/fpm_children.c
  3. 1
      sapi/fpm/fpm/fpm_conf.c

1
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;

11
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'");
}

1
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");

Loading…
Cancel
Save