costin 02/05/14 09:57:37 Modified: jk/native2/common jk_workerEnv.c jk/native2/include jk_workerEnv.h jk/native2/server/apache2 mod_jk2.c Log: Add a 'childId' in workerEnv. This will be used as an index in the jk scoreboard. Also added a mechanism to dump the requests/responses ( if the debug level for a uri is > 10 ). Revision Changes Path 1.40 +19 -12 jakarta-tomcat-connectors/jk/native2/common/jk_workerEnv.c Index: jk_workerEnv.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_workerEnv.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- jk_workerEnv.c 9 May 2002 23:47:31 -0000 1.39 +++ jk_workerEnv.c 14 May 2002 16:57:37 -0000 1.40 @@ -59,7 +59,7 @@ * Description: Workers controller * * Author: Gal Shachor <[EMAIL PROTECTED]> * * Author: Henri Gomez <[EMAIL PROTECTED]> * - * Version: $Revision: 1.39 $ * + * Version: $Revision: 1.40 $ * ***************************************************************************/ #include "jk_env.h" @@ -136,8 +136,8 @@ env->l->jkLog(env, env->l, JK_LOG_DEBUG, "destroy worker %s\n", wEnv->worker_map->nameAt(env, wEnv->worker_map, i)); - if( w->destroy !=NULL ) - w->destroy(env,w); + if( w->mbean->destroy !=NULL ) + w->mbean->destroy(env,w->mbean); } } env->l->jkLog(env, env->l, JK_LOG_DEBUG, @@ -176,10 +176,10 @@ if( w->mbean->state >= JK_STATE_INIT ) return JK_OK; - if( w->init == NULL ) + if( w->mbean->init == NULL ) return JK_OK; - rc=w->init(env, w); + rc=w->mbean->init(env, w->mbean ); if( rc == JK_OK ) { w->mbean->state=JK_STATE_INIT; @@ -413,7 +413,7 @@ if( ep->worker->mbean->debug > 0 ) env->l->jkLog(env, env->l, JK_LOG_INFO, - "ajp14.processCallbacks() Waiting reply %s\n", + "workerEnv.callbacks() %s\n", ep->worker->channel->mbean->name); msg->reset(env, msg); @@ -422,11 +422,14 @@ msg); if( rc!=JK_OK ) { env->l->jkLog(env, env->l, JK_LOG_ERROR, - "ajp14.service() Error reading reply\n"); - /* we just can't recover, unset recover flag */ + "workerEnv.processCallbacks() Error reading reply\n"); + /* We can recover */ return JK_ERR; } + if( ep->worker->mbean->debug > 10 ) + ep->request->dump( env, msg, "Received" ); + /* ep->reply->dump(env, ep->reply, "Received "); */ code = (int)msg->getByte(env, msg); rc=jk2_workerEnv_dispatch( env, wEnv, req, ep, code, msg ); @@ -449,7 +452,10 @@ * A possible work-around could be to store the uploaded * data to file and replay for it */ - ep->recoverable = JK_FALSE; + ep->recoverable = JK_FALSE; + if( ep->worker->mbean->debug > 10 ) + ep->request->dump( env, ep->post, "Apache->tomcat" ); + rc = ep->worker->channel->send(env, ep->worker->channel, ep, ep->post ); if (rc < 0) { env->l->jkLog(env, env->l, JK_LOG_ERROR, @@ -535,8 +541,8 @@ env->l->jkLog(env, env->l, JK_LOG_ERROR, "workerEnv.addWorker() duplicated %s worker \n", w->mbean->name); - if( w->destroy != NULL ) - oldW->destroy(env, oldW); + if( w->mbean->destroy != NULL ) + oldW->mbean->destroy(env, oldW->mbean); } return JK_OK; @@ -694,7 +700,8 @@ wEnv->config->workerEnv = wEnv; wEnv->config->map = wEnv->initData; - + wEnv->childId=-1; + jkb=env->createBean2(env, wEnv->pool,"shm", ""); if( jkb==NULL ) { wEnv->shm=NULL; 1.19 +8 -1 jakarta-tomcat-connectors/jk/native2/include/jk_workerEnv.h Index: jk_workerEnv.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_workerEnv.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- jk_workerEnv.h 8 May 2002 23:47:27 -0000 1.18 +++ jk_workerEnv.h 14 May 2002 16:57:37 -0000 1.19 @@ -58,7 +58,7 @@ /*************************************************************************** * Description: Workers controller header file * * Author: Gal Shachor <[EMAIL PROTECTED]> * - * Version: $Revision: 1.18 $ * + * Version: $Revision: 1.19 $ * ***************************************************************************/ #ifndef JK_WORKERENV_H @@ -152,6 +152,13 @@ char **worker_list; int declared_workers; + /* In a multi-process server, like Apache, stores the child + id in the scoreboard ( if the scoreboard is used ). + This in turn is used in the jk scoreboard to store informations + about each instance. + If -1 - shm is disabled. + */ + int childId; struct jk_env *globalEnv; 1.20 +10 -3 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c Index: mod_jk2.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- mod_jk2.c 13 May 2002 10:22:00 -0000 1.19 +++ mod_jk2.c 14 May 2002 16:57:37 -0000 1.20 @@ -59,7 +59,7 @@ * Description: Apache 2 plugin for Jakarta/Tomcat * * Author: Gal Shachor <[EMAIL PROTECTED]> * * Henri Gomez <[EMAIL PROTECTED]> * - * Version: $Revision: 1.19 $ * + * Version: $Revision: 1.20 $ * ***************************************************************************/ /* @@ -460,19 +460,26 @@ jk_uriEnv_t *serverEnv=(jk_uriEnv_t *) ap_get_module_config(s->module_config, &jk2_module); jk_env_t *env; + apr_proc_t proc; + if( workerEnv==NULL ) workerEnv = serverEnv->workerEnv; env=workerEnv->globalEnv; - env->l->jkLog(env, env->l, JK_LOG_INFO, "mod_jk child init %d\n", workerEnv->was_initialized ); - if(!workerEnv->was_initialized) { workerEnv->was_initialized = JK_TRUE; jk2_init( env, pconf, workerEnv, s ); + + proc.pid=getpid(); + workerEnv->chId=find_child_by_pid( & proc ); + + env->l->jkLog(env, env->l, JK_LOG_INFO, "mod_jk child init %d %d\n", + workerEnv->was_initialized, workerEnv->chId ); } + }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>