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