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 <[EMAIL PROTECTED]> * * 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 <[EMAIL PROTECTED]> + * 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: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>