From 5437e234f7b9a6c299fff8aac9805033373286af Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Mon, 10 Sep 2007 14:54:01 +0000 Subject: [PATCH] Maintain the illusion. It's not worth my time or 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 | 9 +++++---- modules/proxy/mod_proxy.c | 20 -------------------- modules/proxy/mod_proxy.h | 5 +++++ modules/proxy/proxy_util.c | 13 +++++++++++++ 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/include/scoreboard.h b/include/scoreboard.h index 6f8b42e394..fc9fadf7ff 100644 --- a/include/scoreboard.h +++ b/include/scoreboard.h @@ -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 diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 815c45a38a..93921b8761 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -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: * diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index 4dd52fc62f..32e0313155 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -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; diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index a9434b450f..b575822bbf 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -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) { -- 2.40.0