Author: rjung
Date: Thu Jan 10 16:22:09 2008
New Revision: 610997
URL: http://svn.apache.org/viewvc?rev=610997&view=rev
Log:
Use a function for updating the various params.
Modified:
tomcat/connectors/trunk/jk/native/common/jk_status.c
Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=610997&r1=610996&r2=610997&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Thu Jan 10 16:22:09
2008
@@ -2396,6 +2396,29 @@
}
}
+static int set_int_if_changed(status_endpoint_t *p,
+ worker_record_t *wr,
+ const char *att,
+ const char *arg,
+ int min,
+ int max,
+ volatile int *param,
+ const char *lb_name,
+ jk_logger_t *l)
+{
+ int i;
+ status_worker_t *w = p->worker;
+ i = status_get_int(p, arg, *param, l);
+ if (i != *param && i >= min && i <= max) {
+ jk_log(l, JK_LOG_INFO,
+ "Status worker '%s' setting '%s' for sub worker '%s' of lb
worker '%s' to '%i'",
+ w->name, att, wr->name, lb_name, i);
+ *param = i;
+ return JK_TRUE;
+ }
+ return JK_FALSE;
+}
+
static int commit_member(jk_ws_service_t *s,
status_endpoint_t *p,
worker_record_t *wr,
@@ -2424,16 +2447,10 @@
rc |= 1;
}
}
- i = status_get_int(p, JK_STATUS_ARG_LBM_FACTOR,
- wr->lb_factor, l);
- if (i != wr->lb_factor && i > 0) {
- jk_log(l, JK_LOG_INFO,
- "Status worker '%s' setting 'lbfactor' for sub worker '%s' of
lb worker '%s' to '%i'",
- w->name, wr->name, lb_name, i);
- wr->lb_factor = i;
+ if (set_int_if_changed(p, wr, "lbfactor", JK_STATUS_ARG_LBM_FACTOR,
+ 1, INT_MAX, &wr->lb_factor, lb_name, l))
/* Recalculate the load multiplicators wrt. lb_factor */
rc |= 2;
- }
if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_ROUTE,
NULL, &arg, l)) == JK_TRUE) {
if (strncmp(wr->route, arg, JK_SHM_STR_SIZ)) {
@@ -2472,15 +2489,9 @@
rc |= 4;
}
}
- i = status_get_int(p, JK_STATUS_ARG_LBM_DISTANCE,
- wr->distance, l);
- if (i != wr->distance && i > 0) {
- jk_log(l, JK_LOG_INFO,
- "Status worker '%s' setting 'distance' for sub worker '%s' of
lb worker '%s' to '%i'",
- w->name, wr->name, lb_name, i);
- wr->distance = i;
+ if (set_int_if_changed(p, wr, "distance", JK_STATUS_ARG_LBM_DISTANCE,
+ 0, INT_MAX, &wr->distance, lb_name, l))
rc |= 4;
- }
if (rc)
wr->sequence++;
return rc;
@@ -2554,25 +2565,16 @@
snprintf(vname, 32-1, "" JK_STATUS_ARG_MULT_VALUE_BASE "%d", j);
if (!strcmp(attribute, JK_STATUS_ARG_LBM_FACTOR)) {
- i = status_get_int(p, vname, wr->lb_factor, l);
- if (i != wr->lb_factor && i > 0) {
- jk_log(l, JK_LOG_INFO,
- "Status worker '%s' setting 'lbfactor' for sub
worker '%s' of lb worker '%s' to '%i'",
- w->name, wr->name, name, i);
- wr->lb_factor = i;
+ if (set_int_if_changed(p, wr, "lbfactor", vname,
+ 1, INT_MAX, &wr->lb_factor, name, l)) {
rc = 2;
sync_needed = JK_TRUE;
}
}
else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DISTANCE)) {
- i = status_get_int(p, vname, wr->distance, l);
- if (i != wr->distance && i > 0) {
- jk_log(l, JK_LOG_INFO,
- "Status worker '%s' setting 'distance' for sub
worker '%s' of lb worker '%s' to '%i'",
- w->name, wr->name, name, i);
- wr->distance = i;
+ if (set_int_if_changed(p, wr, "distance", vname,
+ 0, INT_MAX, &wr->distance, name, l))
sync_needed = JK_TRUE;
- }
}
else {
int rv = status_get_string(p, vname, NULL, &arg, l);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]