costin      2002/05/31 12:19:45

  Modified:    jk/native2 build.xml
               jk/native2/common jk_shm.c jk_workerEnv.c
               jk/native2/jni jk_jni_aprImpl.c
  Log:
  Other fixes.
  
  Remove the locking when adding worker/channel/etc - it's better to
  sync on the thread making updates ( the original config is in the
  main thread , updates are syced in jk_config ).
  
  ( this avoids problems when a component adds another one )
  
  Revision  Changes    Path
  1.35      +1 -0      jakarta-tomcat-connectors/jk/native2/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/build.xml,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- build.xml 30 May 2002 18:00:56 -0000      1.34
  +++ build.xml 31 May 2002 19:19:44 -0000      1.35
  @@ -378,6 +378,7 @@
           info="Building for NetWare platform" />
         <def name="HAS_APR"
           info="JNI is now based on APR" />
  +      <def name="_REENTRANT" />
         <def name="HAVE_JNI" />
              
         <import fileName="${novellndk.home}/imports/clib.imp" if="netware" />
  
  
  
  1.23      +6 -5      jakarta-tomcat-connectors/jk/native2/common/jk_shm.c
  
  Index: jk_shm.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_shm.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- jk_shm.c  30 May 2002 18:21:03 -0000      1.22
  +++ jk_shm.c  31 May 2002 19:19:45 -0000      1.23
  @@ -127,13 +127,14 @@
       if( shm->image!=NULL ) {
           shm->head = (jk_shm_head_t *)shm->image;
   
  -        env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  -                      "shm.create(): GLOBAL_SHM  %p\n", shm->image );
  -        fprintf( stderr, "GLOBAL SHM: %p\n", shm->image );
  +        if( shm->mbean->debug > 0 )
  +            env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  +                          "shm.create(): GLOBAL_SHM  %p\n", shm->image );
           return JK_OK;
       } else {
  -        env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  -                      "shm.create(): NO GLOBAL_SHM  %p\n", shm->image );
  +        if( shm->mbean->debug > 0 )
  +            env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  +                          "shm.create(): NO GLOBAL_SHM  %p\n", shm->image );
       }
       
   
  
  
  
  1.51      +6 -30     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.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- jk_workerEnv.c    31 May 2002 18:09:13 -0000      1.50
  +++ jk_workerEnv.c    31 May 2002 19:19:45 -0000      1.51
  @@ -59,7 +59,7 @@
    * Description: Workers controller                                         *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
    * Author:      Henri Gomez <[EMAIL PROTECTED]>                               *
  - * Version:     $Revision: 1.50 $                                           *
  + * Version:     $Revision: 1.51 $                                           *
    ***************************************************************************/
   
   #include "jk_env.h"
  @@ -554,11 +554,7 @@
   {
       int err=JK_OK;
       jk_bean_t *jkb;
  -    int csOk;
       
  -    if( wEnv->cs != NULL ) 
  -        wEnv->cs->lock( env, wEnv->cs );
  -
       ch->mbean->id=wEnv->channel_map->size( env, wEnv->channel_map );
       wEnv->channel_map->add(env, wEnv->channel_map, ch->mbean->name, ch);
   
  @@ -568,37 +564,24 @@
       if( jkb == NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR,
                         "workerEnv.addChannel(): Can't find ajp13 worker\n" );
  -        if( wEnv->cs != NULL ) 
  -            wEnv->cs->unLock( env, wEnv->cs );
           return JK_ERR;
       }
       ch->worker=jkb->object;
       ch->worker->channelName=ch->mbean->name;
       ch->worker->channel=ch;
               
  -    /* XXX Set additional parameters - use defaults otherwise */
  -    if( wEnv->cs != NULL ) 
  -        wEnv->cs->unLock( env, wEnv->cs );
  -
       return JK_OK;
   }
   
   static int jk2_workerEnv_addEndpoint(jk_env_t *env, jk_workerEnv_t *wEnv, 
jk_endpoint_t *ep)
   {
  -    int csOk;
  +    int pos=wEnv->endpointMap->size( env, wEnv->endpointMap );
       
  -    if( wEnv->cs != NULL ) 
  -        wEnv->cs->lock( env, wEnv->cs );
  -    {
  -        int pos=wEnv->endpointMap->size( env, wEnv->endpointMap );
  -        
  -        wEnv->endpointMap->add( env, wEnv->endpointMap, ep->mbean->localName, ep );
  -        ep->mbean->id=pos;
  +    wEnv->endpointMap->add( env, wEnv->endpointMap, ep->mbean->localName, ep );
  +    ep->mbean->id=pos;
  +    
  +    ep->mbean->init( env, ep->mbean );
   
  -        ep->mbean->init( env, ep->mbean );
  -    }
  -    if( wEnv->cs != NULL ) 
  -        wEnv->cs->unLock( env, wEnv->cs );
       return JK_OK;
   }
   
  @@ -610,9 +593,6 @@
       jk_worker_t *oldW = NULL;
       int csOk;
       
  -    if( wEnv->cs != NULL ) 
  -        wEnv->cs->lock( env, wEnv->cs ); 
  -
       w->workerEnv=wEnv;
   
       w->mbean->id=wEnv->worker_map->size( env, wEnv->worker_map );
  @@ -622,8 +602,6 @@
       err=w->rPoolCache->init( env, w->rPoolCache,
                                1024 ); /* XXX make it unbound */
   
  -    fprintf( stderr, "XXXWE.addWorker 2 %p %p\n", w, w->rPoolCache );
  -
       wEnv->worker_map->put(env, wEnv->worker_map, w->mbean->name, w, (void *)&oldW);
               
       if(oldW!=NULL) {
  @@ -634,8 +612,6 @@
               oldW->mbean->destroy(env, oldW->mbean);
       }
       
  -    if( wEnv->cs != NULL ) 
  -        wEnv->cs->unLock( env, wEnv->cs );
       return JK_OK;
   }
   
  
  
  
  1.30      +4 -4      jakarta-tomcat-connectors/jk/native2/jni/jk_jni_aprImpl.c
  
  Index: jk_jni_aprImpl.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/jni/jk_jni_aprImpl.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- jk_jni_aprImpl.c  30 May 2002 18:08:48 -0000      1.29
  +++ jk_jni_aprImpl.c  31 May 2002 19:19:45 -0000      1.30
  @@ -525,7 +525,7 @@
       int cnt=0;
       jint rc = 0;
       unsigned acc = 0;
  -    char *oldBuf;
  +    unsigned char *oldBuf;
   
       if( compCtx==NULL || data==NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR,"jni.jkInvoke() NPE\n");
  @@ -555,9 +555,9 @@
           }
           
           oldBuf=ep->reply->buf;
  -        ep->reply->buf = nbuf;
  +        ep->reply->buf = (unsigned char *)nbuf;
       } else if ( arrayAccessMethod == JK_GET_REGION ) {
  -        (*jniEnv)->GetByteArrayRegion( jniEnv, data, off, len, ep->reply->buf );
  +        (*jniEnv)->GetByteArrayRegion( jniEnv, data, off, len, (jbyte 
*)ep->reply->buf );
       }
           
       
  @@ -605,7 +605,7 @@
               /*   env->l->jkLog(env, env->l, JK_LOG_INFO, */
               /*                "jkInvoke() release %d %d %p\n", */
               /*                ep->reply->pos, ep->reply->len , ep->reply->buf ); */
  -            (*jniEnv)->SetByteArrayRegion( jniEnv, data, 0, ep->reply->len + 4 , 
ep->reply->buf );
  +            (*jniEnv)->SetByteArrayRegion( jniEnv, data, 0, ep->reply->len + 4 , 
(jbyte *)ep->reply->buf );
               rc=JK_OK;
           }
       } 
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to