You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2002/05/04 01:32:43 UTC
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_lb_worker.c
costin 02/05/03 16:32:43
Modified: jk/native/common jk_lb_worker.c
Log:
Patch from Bernd Koecke, fixing the 'default worker'.
Note that a '0' value means the worker will get _all_ requests.
Revision Changes Path
1.9 +13 -8 jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
Index: jk_lb_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jk_lb_worker.c 12 Jan 2002 05:27:39 -0000 1.8
+++ jk_lb_worker.c 3 May 2002 23:32:43 -0000 1.9
@@ -60,7 +60,7 @@
* several workers. *
* Author: Gal Shachor <sh...@il.ibm.com> *
* Based on: *
- * Version: $Revision: 1.8 $ *
+ * Version: $Revision: 1.9 $ *
***************************************************************************/
#include "jk_pool.h"
@@ -291,7 +291,7 @@
}
}
- if(rc) {
+ if(rc && rc->lb_value != 0 ) {
rc->lb_value += rc->lb_factor;
}
@@ -328,8 +328,8 @@
if(rc && end) {
int src = end->service(end, s, l, &is_recoverable);
end->done(&end, l);
- if(src) {
- if(rec->in_recovering) {
+ if(src ) {
+ if(rec->in_recovering && rec->lb_value != 0) {
rec->lb_value = get_max_lb(p->worker) + ADDITINAL_WAIT_LOAD;
}
rec->in_error_state = JK_FALSE;
@@ -433,12 +433,17 @@
p->lb_workers[i].name = jk_pool_strdup(&p->p, worker_names[i]);
p->lb_workers[i].lb_factor = jk_get_lb_factor(props,
worker_names[i]);
- p->lb_workers[i].lb_factor = 1/p->lb_workers[i].lb_factor;
+ if(p->lb_workers[i].lb_factor < 0) {
+ p->lb_workers[i].lb_factor = -1 * p->lb_workers[i].lb_factor;
+ }
+ if (0 < p->lb_workers[i].lb_factor) {
+ p->lb_workers[i].lb_factor = 1/p->lb_workers[i].lb_factor;
+ }
+
/*
* Allow using lb in fault-tolerant mode.
- * Just set lbfactor in worker.properties to 0 to have
- * a worker used only when principal is down or session route
- * point to it. Provided by Paul Frieden <pf...@dchain.com>
+ * A value of 0 means the worker will be used for all requests without
+ * sessions
*/
p->lb_workers[i].lb_value = p->lb_workers[i].lb_factor;
p->lb_workers[i].in_error_state = JK_FALSE;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>