You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jf...@apache.org on 2002/06/12 14:40:17 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_shm.c jk_workerEnv.c jk_worker_ajp13.c
jfclere 2002/06/12 05:40:17
Modified: jk/native2/common jk_shm.c jk_workerEnv.c jk_worker_ajp13.c
Log:
Prevent the core when getSlot() failed.
Revision Changes Path
1.27 +10 -8 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.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- jk_shm.c 10 Jun 2002 21:55:06 -0000 1.26
+++ jk_shm.c 12 Jun 2002 12:40:17 -0000 1.27
@@ -447,16 +447,18 @@
int slotId;
int i;
jk_shm_slot_t *slot;
-
- for( i=1; i<shm->head->lastSlot; i++ ) {
- slot= shm->getSlot( env, shm, i );
- if( strncmp( slot->name, name, strlen(name) ) == 0 ) {
- return slot;
+
+ if (shm->head!=NULL) {
+ for( i=1; i<shm->head->lastSlot; i++ ) {
+ slot= shm->getSlot( env, shm, i );
+ if( strncmp( slot->name, name, strlen(name) ) == 0 ) {
+ return slot;
+ }
}
+ /* New slot */
+ /* XXX interprocess sync */
+ slotId=shm->head->lastSlot++;
}
- /* New slot */
- /* XXX interprocess sync */
- slotId=shm->head->lastSlot++;
slot=shm->getSlot( env, shm, slotId );
if( slot==NULL ) return NULL;
1.54 +3 -2 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.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- jk_workerEnv.c 10 Jun 2002 21:55:06 -0000 1.53
+++ jk_workerEnv.c 12 Jun 2002 12:40:17 -0000 1.54
@@ -580,7 +580,8 @@
wEnv->endpointMap->add( env, wEnv->endpointMap, ep->mbean->localName, ep );
ep->mbean->id=pos;
- ep->mbean->init( env, ep->mbean );
+ if (ep->mbean->init( env, ep->mbean )==JK_ERR)
+ return JK_ERR;
return JK_OK;
}
1.32 +14 -5 jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c
Index: jk_worker_ajp13.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- jk_worker_ajp13.c 10 Jun 2002 21:55:06 -0000 1.31
+++ jk_worker_ajp13.c 12 Jun 2002 12:40:17 -0000 1.32
@@ -561,6 +561,7 @@
{
jk_endpoint_t *e = NULL;
jk_bean_t *jkb;
+ int ret;
if( ajp13->secret ==NULL ) {
}
@@ -596,17 +597,23 @@
*eP = e;
- ajp13->workerEnv->addEndpoint( env, ajp13->workerEnv, e );
+ ret = ajp13->workerEnv->addEndpoint( env, ajp13->workerEnv, e );
}
if( ajp13->cs != NULL )
ajp13->cs->unLock( env, ajp13->cs );
- if( ajp13->mbean->debug > 0 )
- env->l->jkLog(env, env->l, JK_LOG_INFO,
+ if( ajp13->mbean->debug > 0 ) {
+ if (ret==JK_OK)
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
"ajp13.getEndpoint(): Created endpoint %s %s \n",
ajp13->mbean->name, jkb->name);
+ else
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
+ "ajp13.getEndpoint(): endpoint creation %s %s failed\n",
+ ajp13->mbean->name, jkb->name);
+ }
- return JK_OK;
+ return ret;
}
/*
@@ -620,7 +627,9 @@
jk_endpoint_t *e;
/* Get endpoint from the pool */
- jk2_worker_ajp13_getEndpoint( env, w, &e );
+ err=jk2_worker_ajp13_getEndpoint( env, w, &e );
+ if (err!=JK_OK)
+ return err;
#ifdef HAS_APR
if( s->uriEnv!=NULL && s->uriEnv->timing == JK_TRUE ) {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>