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>