mturk 2002/06/29 11:28:10
Modified: jk/native2/common jk_worker_lb.c
Log:
Move the worker initalization to channel, so we can skip the channels
that not need that option.
Revision Changes Path
1.22 +6 -13 jakarta-tomcat-connectors/jk/native2/common/jk_worker_lb.c
Index: jk_worker_lb.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_lb.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- jk_worker_lb.c 29 Jun 2002 07:48:20 -0000 1.21
+++ jk_worker_lb.c 29 Jun 2002 18:28:10 -0000 1.22
@@ -85,7 +85,6 @@
typedef struct {
struct jk_mutex *cs;
- int init_timeout;
int initializing;
} jk_worker_lb_private_t;
@@ -385,7 +384,7 @@
s->jvm_route = rec->route;
s->realWorker = rec;
- if (!rec->initialized && !lb_priv->initializing && lb->cs != NULL) {
+ if (rec->mbean->initialize && !lb_priv->initializing && lb->cs != NULL) {
/* If the worker has not been called yet serialize the call */
lb->cs->lock(env, lb->cs);
lb_priv->initializing = JK_TRUE;
@@ -397,18 +396,18 @@
rec->in_error_state = JK_FALSE;
rec->error_time = 0;
/* Set the initialized flag to TRUE if that was the first call */
- if (!rec->initialized && lb->cs != NULL) {
- rec->initialized = JK_TRUE;
+ if (rec->mbean->initialize && lb->cs != NULL) {
+ rec->mbean->initialize = 0;
lb_priv->initializing = JK_FALSE;
lb->cs->unLock(env, lb->cs);
}
return JK_OK;
}
- if (!rec->initialized && lb->cs != NULL) {
+ if (rec->mbean->initialize && lb->cs != NULL) {
time_t now = time(NULL);
/* In the case of initialization timeout disable the worker */
- if ((int)(now - rec->error_time) > lb_priv->init_timeout) {
+ if ((int)(now - rec->error_time) > rec->mbean->initialize) {
rec->mbean->disabled = JK_TRUE;
lb_priv->initializing = JK_FALSE;
s->is_recoverable_error = JK_FALSE;
@@ -524,11 +523,7 @@
lb->noWorkerCode=atoi( value );
} else if( strcmp( name, "hwBalanceErr") == 0 ) {
lb->hwBalanceErr=atoi( value );
- } else if( strcmp( name, "initTimeout") == 0 ) {
- jk_worker_lb_private_t *priv = lb->worker_private;
- priv->init_timeout=atoi( value );
}
-
return JK_ERR;
}
@@ -595,8 +590,6 @@
worker_private = (jk_worker_lb_private_t *)pool->calloc(env,
pool, sizeof(jk_worker_lb_private_t));
- /* one minute service startup */
- worker_private->init_timeout = 60;
jkb=env->createBean2(env, pool,"threadMutex", NULL);
if( jkb != NULL ) {
worker_private->cs=jkb->object;
@@ -625,7 +618,7 @@
w->workerEnv=env->getByName( env, "workerEnv" );
w->workerEnv->addWorker( env, w->workerEnv, w );
-
+
return JK_OK;
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>