]> granicus.if.org Git - apache/commitdiff
ensure sane defaults
authorJim Jagielski <jim@apache.org>
Thu, 18 Feb 2016 12:06:39 +0000 (12:06 +0000)
committerJim Jagielski <jim@apache.org>
Thu, 18 Feb 2016 12:06:39 +0000 (12:06 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1731052 13f79535-47bb-0310-9956-ffa450edef68

server/mpm/motorz/motorz.c
server/mpm/motorz/mpm_default.h

index fb7f84c905beb9472be9ea9484bf61fa90343110..0391e67539371225ffbea8b5461150be397be881 100644 (file)
@@ -20,8 +20,8 @@
  * config globals
  */
 static motorz_core_t *g_motorz_core;
-static int threads_per_child = 0;
-static int ap_num_kids = 0;
+static int threads_per_child = 16;
+static int ap_num_kids = DEFAULT_START_DAEMON;
 static int mpm_state = AP_MPMQ_STARTING;
 
 /* one_process --- debugging mode variable; can be set from the command line
@@ -1675,21 +1675,21 @@ static int motorz_check_config(apr_pool_t *p, apr_pool_t *plog,
         startup = 1;
     }
 
-    if (ap_num_kids > MAX_SERVER_LIMIT) {
+    if (ap_num_kids > DEFAULT_SERVER_LIMIT) {
         if (startup) {
             ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_STARTUP, 0, NULL, APLOGNO(02886)
                          "WARNING: StartServers of %d exceeds compile-time "
                          "limit of", ap_num_kids);
             ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_STARTUP, 0, NULL, APLOGNO(03118)
                          " %d servers, decreasing to %d.",
-                         MAX_SERVER_LIMIT, MAX_SERVER_LIMIT);
+                         DEFAULT_SERVER_LIMIT, DEFAULT_SERVER_LIMIT);
         } else {
             ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s, APLOGNO(02887)
                          "StartServers of %d exceeds compile-time limit "
                          "of %d, decreasing to match",
-                         ap_num_kids, MAX_SERVER_LIMIT);
+                         ap_num_kids, DEFAULT_SERVER_LIMIT);
         }
-        ap_num_kids = MAX_SERVER_LIMIT;
+        ap_num_kids = DEFAULT_SERVER_LIMIT;
     }
     else if (ap_num_kids < 1) {
         if (startup) {
@@ -1704,6 +1704,34 @@ static int motorz_check_config(apr_pool_t *p, apr_pool_t *plog,
         ap_num_kids = 1;
     }
 
+    if (threads_per_child > MAX_THREAD_LIMIT) {
+        if (startup) {
+            ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_STARTUP, 0, NULL, APLOGNO()
+                         "WARNING: ThreadsPerChild of %d exceeds compile-time "
+                         "limit of", threads_per_child);
+            ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_STARTUP, 0, NULL, APLOGNO()
+                         " %d servers, decreasing to %d.",
+                         MAX_THREAD_LIMIT, MAX_THREAD_LIMIT);
+        } else {
+            ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s, APLOGNO()
+                         "ThreadsPerChild of %d exceeds compile-time limit "
+                         "of %d, decreasing to match",
+                         threads_per_child, MAX_THREAD_LIMIT);
+        }
+        threads_per_child = MAX_THREAD_LIMIT;
+    }
+    else if (threads_per_child < 1) {
+        if (startup) {
+            ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_STARTUP, 0, NULL, APLOGNO()
+                         "WARNING: ThreadsPerChild of %d not allowed, "
+                         "increasing to 1.", threads_per_child);
+        } else {
+            ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s, APLOGNO()
+                         "ThreadsPerChild of %d not allowed, increasing to 1",
+                         threads_per_child);
+        }
+        threads_per_child = 1;
+    }
 
     return OK;
 }
index d8ab8012fb299528568b076181decfd355015086..9bc59f0ae66646a78c893189dac0c0b9831d6086 100644 (file)
 /* Number of servers to spawn off by default --- 
  */
 #ifndef DEFAULT_START_DAEMON
-#define DEFAULT_START_DAEMON 1
-#endif
-
-/* Maximum number of *free* server processes --- more than this, and
- * they will die off.
- */
-
-#ifndef DEFAULT_MAX_FREE_DAEMON
-#define DEFAULT_MAX_FREE_DAEMON 2
-#endif
-
-/* Minimum --- fewer than this, and more will be created */
-
-#ifndef DEFAULT_MIN_FREE_DAEMON
-#define DEFAULT_MIN_FREE_DAEMON 1
+#define DEFAULT_START_DAEMON 2
 #endif
 
 #endif /* AP_MPM_DEFAULT_H */