]> granicus.if.org Git - apache/commitdiff
Maintain the illusion. It's not worth my time or
authorJim Jagielski <jim@apache.org>
Mon, 10 Sep 2007 14:54:01 +0000 (14:54 +0000)
committerJim Jagielski <jim@apache.org>
Mon, 10 Sep 2007 14:54:01 +0000 (14:54 +0000)
energy to care about this anymore.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@574269 13f79535-47bb-0310-9956-ffa450edef68

include/scoreboard.h
modules/proxy/mod_proxy.c
modules/proxy/mod_proxy.h
modules/proxy/proxy_util.c

index 6f8b42e394c86904b2f59632aaf052cc1da5c717..fc9fadf7ffd0ce98b80ac7b2fe073333fc38bb11 100644 (file)
@@ -45,9 +45,6 @@ extern "C" {
 #define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
 #endif
 
-/* for proxy_worker_stat */
-#include "../modules/proxy/mod_proxy.h"
-
 /* Scoreboard info on a process is, for now, kept very brief --- 
  * just status value and pid (the latter so that the caretaker process
  * can properly update the scoreboard when a process dies).  We may want
@@ -145,7 +142,11 @@ struct process_score {
 };
 
 /* stuff which is lb specific */
-typedef proxy_worker_stat lb_score;
+typedef struct lb_score lb_score;
+struct lb_score {
+    /* TODO: make a real stuct from this */
+    unsigned char data[1024];
+};
 
 /* Scoreboard is now in 'local' memory, since it isn't updated once created,
  * even in forked architectures.  Child created-processes (non-fork) will
index 815c45a38ac890455824d9661509d192e7216569..93921b87616ff8dbfe51890fe4126f1bb01ca7f3 100644 (file)
@@ -37,26 +37,6 @@ APR_DECLARE_OPTIONAL_FN(char *, ssl_var_lookup,
 #define MAX(x,y) ((x) >= (y) ? (x) : (y))
 #endif
 
-/* Global balancer counter */
-static int lb_workers_limit = 0;
-
-/**
- * Calculate number of maximum number of workers in scoreboard.
- * @return  number of workers to allocate in the scoreboard
- */
-static int ap_proxy_lb_workers(void)
-{
-    /*
-     * Since we can't resize the scoreboard when reconfiguring, we
-     * have to impose a limit on the number of workers, we are
-     * able to reconfigure to.
-     */
-    if (!lb_workers_limit)
-        lb_workers_limit = proxy_lb_workers + PROXY_DYNAMIC_BALANCER_LIMIT;
-    return lb_workers_limit;
-}
-
-
 /*
  * A Web proxy module. Stages:
  *
index 4dd52fc62f95ca1f2563fd280c1a69d08503cc54..32e031315528528318bab219704d658df1271860 100644 (file)
@@ -730,6 +730,11 @@ PROXY_DECLARE(void) ap_proxy_backend_broke(request_rec *r,
  * If this limit is reached you must stop and restart the server.
  */
 #define PROXY_DYNAMIC_BALANCER_LIMIT    16
+/**
+ * Calculate number of maximum number of workers in scoreboard.
+ * @return  number of workers to allocate in the scoreboard
+ */
+int ap_proxy_lb_workers(void);
 
 /* For proxy_util */
 extern module PROXY_DECLARE_DATA proxy_module;
index a9434b450f37ee3b66f48e32ecfbc63e3c6e50d1..b575822bbf6bd25bc82961056389085ac096cafa 100644 (file)
@@ -31,6 +31,7 @@
 
 /* Global balancer counter */
 int PROXY_DECLARE_DATA proxy_lb_workers = 0;
+static int lb_workers_limit = 0;
 
 static int proxy_match_ipaddr(struct dirconn_entry *This, request_rec *r);
 static int proxy_match_domainname(struct dirconn_entry *This, request_rec *r);
@@ -2313,6 +2314,18 @@ PROXY_DECLARE(int) ap_proxy_connection_create(const char *proxy_function,
     return OK;
 }
 
+int ap_proxy_lb_workers(void)
+{
+    /*
+     * Since we can't resize the scoreboard when reconfiguring, we
+     * have to impose a limit on the number of workers, we are
+     * able to reconfigure to.
+     */
+    if (!lb_workers_limit)
+        lb_workers_limit = proxy_lb_workers + PROXY_DYNAMIC_BALANCER_LIMIT;
+    return lb_workers_limit;
+}
+
 PROXY_DECLARE(void) ap_proxy_backend_broke(request_rec *r,
                                            apr_bucket_brigade *brigade)
 {