]> granicus.if.org Git - apache/commitdiff
Make calc_scoreboard_size() and init_scoreboard() usable from MPMs.
authorBrian Havard <bjh@apache.org>
Sun, 30 Dec 2001 13:27:48 +0000 (13:27 +0000)
committerBrian Havard <bjh@apache.org>
Sun, 30 Dec 2001 13:27:48 +0000 (13:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92661 13f79535-47bb-0310-9956-ffa450edef68

include/scoreboard.h
server/scoreboard.c

index ba6ba5e3ad4f7934ec728d21135f53fad5cf51fd..c4c6637af38c43995d51e6f518ba552c2ceeb466 100644 (file)
@@ -199,6 +199,8 @@ AP_DECLARE(int) ap_exists_scoreboard_image(void);
 AP_DECLARE_NONSTD(void) ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e t);
 AP_DECLARE(void) ap_increment_counts(void *sbh, request_rec *r);
 
+int ap_calc_scoreboard_size(void);
+void ap_init_scoreboard(void);
 apr_status_t ap_cleanup_scoreboard(void *d);
 
 AP_DECLARE(void) reopen_scoreboard(apr_pool_t *p);
index 73b88809493e7fd50d4c119963334f2c63701158..ce443d5da3ff744fbff374efe39d6b80eef8cdb1 100644 (file)
@@ -123,7 +123,7 @@ static apr_status_t ap_cleanup_shared_mem(void *d)
     return APR_SUCCESS;
 }
 
-static void calc_scoreboard_size(void)
+int ap_calc_scoreboard_size(void)
 {
     ap_mpm_query(AP_MPMQ_HARD_LIMIT_THREADS, &thread_limit);
     ap_mpm_query(AP_MPMQ_HARD_LIMIT_DAEMONS, &server_limit);
@@ -131,9 +131,10 @@ static void calc_scoreboard_size(void)
     scoreboard_size += sizeof(process_score) * server_limit;
     scoreboard_size += sizeof(worker_score * ) * server_limit;
     scoreboard_size += sizeof(worker_score) * server_limit * thread_limit;
+    return scoreboard_size;
 }
 
-static void init_scoreboard(void)
+void ap_init_scoreboard(void)
 {
     char *more_storage;
     int i;
@@ -216,7 +217,7 @@ AP_DECLARE_NONSTD(void) ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e sb_t
     if (ap_scoreboard_image)
        running_gen = ap_scoreboard_image->global.running_generation;
     if (ap_scoreboard_image == NULL) {
-        calc_scoreboard_size();
+        ap_calc_scoreboard_size();
         if (sb_type == SB_SHARED) {
             rv = setup_shared(p);
             if (rv) {
@@ -234,7 +235,7 @@ AP_DECLARE_NONSTD(void) ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e sb_t
             }
         }
     }
-    init_scoreboard(); /* can't just memset() */
+    ap_init_scoreboard(); /* can't just memset() */
     ap_scoreboard_image->global.sb_type = sb_type;
     ap_scoreboard_image->global.running_generation = running_gen;
     ap_restart_time = apr_time_now();