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]>