You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2002/05/30 20:05:08 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_apr_socket.c jk_channel.c jk_channel_jni.c jk_channel_socket.c jk_channel_un.c
costin 02/05/30 11:05:08
Modified: jk/native2/common jk_channel_apr_socket.c jk_channel.c
jk_channel_jni.c jk_channel_socket.c
jk_channel_un.c
Log:
Use the common super method for setAttribute.
This allows setDisabled() on channel to propagate to worker, and reduce
the code duplication.
Added the JK_INVOKE_WITH_RESPONSE case to read().
Revision Changes Path
1.21 +1 -4 jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c
Index: jk_channel_apr_socket.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- jk_channel_apr_socket.c 26 May 2002 07:30:01 -0000 1.20
+++ jk_channel_apr_socket.c 30 May 2002 18:05:08 -0000 1.21
@@ -122,10 +122,7 @@
} else if( strcmp( "port", name ) == 0 ) {
socketInfo->port=atoi( value );
} else {
- if( ch->worker!=NULL ) {
- return ch->worker->mbean->setAttribute( env, ch->worker->mbean, name, valueP );
- }
- return JK_ERR;
+ return jk2_channel_setAttribute( env, mbean, name, valueP );
}
return JK_OK;
}
1.3 +28 -0 jakarta-tomcat-connectors/jk/native2/common/jk_channel.c
Index: jk_channel.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- jk_channel.c 28 May 2002 22:40:25 -0000 1.2
+++ jk_channel.c 30 May 2002 18:05:08 -0000 1.3
@@ -69,6 +69,32 @@
#include <string.h>
#include "jk_registry.h"
+/** Common attributes for all channels
+ */
+int JK_METHOD jk2_channel_setAttribute(jk_env_t *env,
+ jk_bean_t *mbean,
+ char *name, void *valueP)
+{
+ jk_channel_t *ch=(jk_channel_t *)mbean->object;
+ char *value=valueP;
+
+ if( strcmp( "debug", name ) == 0 ) {
+ ch->mbean->debug=atoi( value );
+ } else if( strcmp( "disabled", name ) == 0 ) {
+ ch->mbean->disabled=atoi( value );
+ if( ch->worker!=NULL)
+ ch->worker->mbean->disabled=ch->mbean->disabled;
+ } else {
+ if( ch->worker!=NULL ) {
+ return ch->worker->mbean->setAttribute( env, ch->worker->mbean, name, valueP );
+ }
+ return JK_ERR;
+ }
+ return JK_OK;
+}
+
+
+
/** Called by java ( local or remote ).
*/
int JK_METHOD jk2_channel_invoke(jk_env_t *env, jk_bean_t *bean, jk_endpoint_t *ep, int code,
@@ -101,6 +127,8 @@
env->l->jkLog(env, env->l, JK_LOG_INFO, "ch.recv()\n");
if( ch->recv != NULL )
rc=ch->recv(env, ch, ep, msg);
+ if( rc==JK_OK )
+ return JK_INVOKE_WITH_RESPONSE;
return rc;
}
case CH_WRITE: {
1.24 +2 -14 jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c
Index: jk_channel_jni.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- jk_channel_jni.c 27 May 2002 15:54:44 -0000 1.23
+++ jk_channel_jni.c 30 May 2002 18:05:08 -0000 1.24
@@ -106,19 +106,6 @@
-static int JK_METHOD jk2_channel_jni_setAttribute(jk_env_t *env,
- jk_bean_t *mbean,
- char *name, void *valueP)
-{
- jk_channel_t *ch=(jk_channel_t *)mbean->object;
- char *value=valueP;
-
- if( ch->worker!=NULL ) {
- return ch->worker->mbean->setAttribute( env, ch->worker->mbean, name, valueP );
- }
- return JK_OK;
-}
-
static int JK_METHOD jk2_channel_jni_init(jk_env_t *env,
jk_bean_t *jniWB)
{
@@ -553,7 +540,8 @@
sizeof(jk_channel_jni_private_t));
ch->is_stream=JK_FALSE;
- result->setAttribute= jk2_channel_jni_setAttribute;
+ /* No special attribute */
+ result->setAttribute= jk2_channel_setAttribute;
ch->mbean=result;
result->object= ch;
result->init= jk2_channel_jni_init;
1.30 +1 -4 jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c
Index: jk_channel_socket.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- jk_channel_socket.c 26 May 2002 07:30:01 -0000 1.29
+++ jk_channel_socket.c 30 May 2002 18:05:08 -0000 1.30
@@ -129,10 +129,7 @@
} else if( strcmp( "port", name ) == 0 ) {
socketInfo->port=atoi( value );
} else {
- if( ch->worker!=NULL ) {
- return ch->worker->mbean->setAttribute( env, ch->worker->mbean, name, valueP );
- }
- return JK_ERR;
+ return jk2_channel_setAttribute( env, mbean, name, valueP );
}
return JK_OK;
}
1.10 +1 -6 jakarta-tomcat-connectors/jk/native2/common/jk_channel_un.c
Index: jk_channel_un.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_un.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- jk_channel_un.c 29 May 2002 17:51:23 -0000 1.9
+++ jk_channel_un.c 30 May 2002 18:05:08 -0000 1.10
@@ -118,16 +118,11 @@
socketInfo->file=value;
} else if( strcmp( "soLinger", name ) == 0 ) {
socketInfo->l_linger=atoi( value );
- } else if( strcmp( "debug", name ) == 0 ) {
- ch->mbean->debug=atoi( value );
} else if( strcmp( "listen", name ) == 0 ) {
socketInfo->backlog=atoi( value );
ch->serverSide=JK_TRUE;
} else {
- if( ch->worker!=NULL ) {
- return ch->worker->mbean->setAttribute( env, ch->worker->mbean, name, valueP );
- }
- return JK_ERR;
+ return jk2_channel_setAttribute( env, mbean, name, valueP );
}
return JK_OK;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>