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

Reply via email to