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/01/06 10:06:02 UTC

cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 jk_logger_apache2.c jk_map_aprtable.c jk_pool_apr.c jk_service_apache2.c

costin      02/01/06 01:06:02

  Modified:    jk/native2 build.xml
               jk/native2/common jk_handler_response.c jk_lb_worker.c
               jk/native2/common/apr jk_channel_apr_socket.c
               jk/native2/server/apache2 jk_logger_apache2.c
                        jk_map_aprtable.c jk_pool_apr.c
                        jk_service_apache2.c
  Log:
  Few fixes and debug statements.
  
  I reverted to use jk maps for now, there's a strange bug with apr maps. The
  extra debug statements will be removed after I figure out the problem.
  
  Revision  Changes    Path
  1.10      +1 -1      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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- build.xml	5 Jan 2002 10:03:43 -0000	1.9
  +++ build.xml	6 Jan 2002 09:06:02 -0000	1.10
  @@ -43,7 +43,7 @@
   
     <!-- ==================== Targets ==================== -->
   
  -  <target name="main" depends="init,apache20,jni,apache13,unixsocket">
  +  <target name="main" depends="init,apache20,jni,unixsocket">
     </target>
   
     <target name="init" >
  
  
  
  1.12      +3 -3      jakarta-tomcat-connectors/jk/native2/common/jk_handler_response.c
  
  Index: jk_handler_response.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_handler_response.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- jk_handler_response.c	17 Dec 2001 07:17:08 -0000	1.11
  +++ jk_handler_response.c	6 Jan 2002 09:06:02 -0000	1.12
  @@ -166,9 +166,9 @@
           
           jk_xlate_from_ascii(valueS, strlen(valueS));
           
  -        /* env->l->jkLog(env, env->l, JK_LOG_INFO, */
  -        /*               "handler.response() Header[%d] [%s] = [%s]\n",  */
  -        /*               i, nameS, valueS); */
  +        env->l->jkLog(env, env->l, JK_LOG_INFO,
  +                      "handler.response() Header[%d] [%s] = [%s]\n", 
  +                      i, nameS, valueS);
   
           /* Do we want this ? Preserve the headers, maybe someone will
            need them. Alternative is to use a different buffer every time,
  
  
  
  1.11      +5 -4      jakarta-tomcat-connectors/jk/native2/common/jk_lb_worker.c
  
  Index: jk_lb_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_lb_worker.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- jk_lb_worker.c	16 Dec 2001 23:18:11 -0000	1.10
  +++ jk_lb_worker.c	6 Jan 2002 09:06:02 -0000	1.11
  @@ -60,7 +60,7 @@
    *              several workers.                                           *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
    * Based on:                                                               *
  - * Version:     $Revision: 1.10 $                                           *
  + * Version:     $Revision: 1.11 $                                           *
    ***************************************************************************/
   
   #include "jk_pool.h"
  @@ -110,7 +110,7 @@
       It'll also adjust the load balancing factors.
   */
   static jk_worker_t *get_most_suitable_worker(jk_env_t *env, jk_worker_t *p, 
  -                                             jk_ws_service_t *s)
  +                                             jk_ws_service_t *s, int attempt)
   {
       jk_worker_t *rc = NULL;
       double lb_min = 0.0;    
  @@ -120,7 +120,7 @@
       if(session_route) {
           for(i = 0 ; i < p->num_of_workers ; i++) {
               if(0 == strcmp(session_route, p->lb_workers[i]->name)) {
  -                if(p->lb_workers[i]->in_error_state) {
  +                if(attempt > 0 && p->lb_workers[i]->in_error_state) {
                      break;
                   } else {
                       return p->lb_workers[i];
  @@ -165,6 +165,7 @@
   {
       /* The 'real' endpoint */
       jk_endpoint_t *end = NULL;
  +    int attempt=0;
       
       if(e==NULL || s==NULL || is_recoverable_error==NULL) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR,
  @@ -177,7 +178,7 @@
       e->realEndpoint=NULL;
   
       while(1) {
  -        jk_worker_t *rec = get_most_suitable_worker(env, e->worker, s);
  +        jk_worker_t *rec = get_most_suitable_worker(env, e->worker, s, attempt++);
           int rc;
           int is_recoverable = JK_FALSE;
   
  
  
  
  1.2       +15 -15    jakarta-tomcat-connectors/jk/native2/common/apr/jk_channel_apr_socket.c
  
  Index: jk_channel_apr_socket.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/apr/jk_channel_apr_socket.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_channel_apr_socket.c	31 Dec 2001 22:39:45 -0000	1.1
  +++ jk_channel_apr_socket.c	6 Jan 2002 09:06:02 -0000	1.2
  @@ -173,7 +173,7 @@
       host = jk_map_getStrProp( env, props,
                                 "worker", worker_name, "host", host);
       tmp = jk_map_getStrProp( env, props,
  -                          "worker", worker_name, "port", NULL );
  +                             "worker", worker_name, "port", NULL );
       if( tmp != NULL )
           port=jk_map_str2int( env, tmp);
   
  @@ -186,7 +186,7 @@
       err=jk_channel_socket_resolve( env, host, port, socketInfo );
       if( err!= JK_TRUE ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR, "jk_channel_socket_init: "
  -               "can't resolve %s:%d errno=%d\n", host, port, errno );
  +                      "can't resolve %s:%d errno=%d\n", host, port, errno );
       }
       env->l->jkLog(env, env->l, JK_LOG_INFO,
                     "channel_socket.init(): %s:%d for %s\n", host,
  @@ -198,8 +198,8 @@
   /** private: resolve the address on init
    */
   static int JK_METHOD jk_channel_socket_resolve(jk_env_t *env,
  -char *host, short port,
  -jk_channel_socket_private_t *rc)
  +                                               char *host, short port,
  +                                               jk_channel_socket_private_t *rc)
   {
       /*
        * If the hostname is an absolut path, we want a UNIX socket.
  @@ -221,15 +221,6 @@
           }
       }
       return JK_TRUE;
  -
  -}
  -
  -static int jk_close_socket(jk_env_t *env, apr_socket_t *s)
  -{
  -    if (apr_socket_close(s)==APR_SUCCESS)
  -        return(0);
  -    else
  -        return(-1);
   }
   
   
  @@ -354,14 +345,23 @@
       if( chD==NULL ) 
           return JK_FALSE;
   
  +    if (chD->type==TYPE_UNIX) { 
  +        close( chD->unixsock );
  +        return 0;
  +    }
  +
       sd=chD->sock;
       chD->sock=NULL; /* XXX check it. */
       /* nothing else to clean, the socket_data was allocated ouf of
        *  endpoint's pool
        */
  -    return jk_close_socket(env, sd);
  +    if (apr_socket_close(sd)==APR_SUCCESS)
  +        return(0);
  +    else
  +        return(-1);
   }
   
  +
   /** send a long message
    * @param sd  opened socket.
    * @param b   buffer containing the data.
  @@ -457,7 +457,7 @@
                                    (char *)b + rdlen, 
                                    len - rdlen, 
                                    0);        
  -                   if(-1 == this_time) {
  +            if(-1 == this_time) {
                   if(EAGAIN == errno) {
                       continue;
                   } 
  
  
  
  1.12      +2 -0      jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c
  
  Index: jk_logger_apache2.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- jk_logger_apache2.c	17 Dec 2001 07:17:08 -0000	1.11
  +++ jk_logger_apache2.c	6 Jan 2002 09:06:02 -0000	1.12
  @@ -186,6 +186,8 @@
       l->open =jk_logger_apache2_open;
       l->jkLog = jk_logger_apache2_jkLog;
   
  +    l->level=JK_LOG_ERROR_LEVEL;
  +    
       *result=(void *)l;
   
       return JK_TRUE;
  
  
  
  1.4       +1 -1      jakarta-tomcat-connectors/jk/native2/server/apache2/jk_map_aprtable.c
  
  Index: jk_map_aprtable.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_map_aprtable.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_map_aprtable.c	16 Dec 2001 23:36:58 -0000	1.3
  +++ jk_map_aprtable.c	6 Jan 2002 09:06:02 -0000	1.4
  @@ -87,7 +87,7 @@
   {
       apr_table_t *aprMap=_this->_private;
       if( oldValue != NULL ) {
  -        *oldValue=apr_table_get( aprMap, name );
  +        *oldValue=apr_table_get( aprMap, (char *)name );
       }
       
       apr_table_setn( aprMap, name, (char *)value );
  
  
  
  1.8       +4 -1      jakarta-tomcat-connectors/jk/native2/server/apache2/jk_pool_apr.c
  
  Index: jk_pool_apr.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_pool_apr.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- jk_pool_apr.c	16 Dec 2001 23:36:58 -0000	1.7
  +++ jk_pool_apr.c	6 Jan 2002 09:06:02 -0000	1.8
  @@ -65,8 +65,11 @@
   #include "jk_env.h"
   #include "apr_pools.h"
   #include "apr_strings.h"
  +#include "apr_network_io.h"
  +#include "apr_errno.h"
  +#include "apr_general.h"
   
  -#include "jk_apache2.h"
  +/* #include "jk_apache2.h" */
   
   /* 
      JK_APR_POOL_DEBUG will enable verbose messages on allocation.
  
  
  
  1.6       +24 -4     jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c
  
  Index: jk_service_apache2.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- jk_service_apache2.c	17 Dec 2001 07:17:08 -0000	1.5
  +++ jk_service_apache2.c	6 Jan 2002 09:06:02 -0000	1.6
  @@ -59,7 +59,7 @@
    * Description: Apache 2 plugin for Jakarta/Tomcat                         
    * Author:      Gal Shachor <sh...@il.ibm.com>                           
    *                 Henri Gomez <hg...@slib.fr>                            
  - * Version:     $Revision: 1.5 $                                           
  + * Version:     $Revision: 1.6 $                                           
    */
   
   #include "apu_compat.h"
  @@ -92,7 +92,7 @@
   
   #include "jk_apache2.h"
   
  -#define USE_APRTABLES
  +/* #define USE_APRTABLES */
   
   #define NULL_FOR_EMPTY(x)   ((x && !strlen(x)) ? NULL : x) 
   
  @@ -115,11 +115,15 @@
   
       headers=s->headers_out;
       /* XXX As soon as we switch to jk_map_apache2, this will not be needed ! */
  +    env->l->jkLog(env, env->l, JK_LOG_INFO, 
  +                  "service.head() %d %d\n", s->status, headers->size(env, headers ));
       
       for(h = 0 ; h < headers->size( env, headers ) ; h++) {
           char *name=headers->nameAt( env, headers, h );
           char *val=headers->valueAt( env, headers, h );
   
  +        env->l->jkLog(env, env->l, JK_LOG_INFO, 
  +                      "service.head() %s: %s\n", name, val);
           /* the cmp can also be avoided in we do this earlier and use
              the header id */
           if(!strcasecmp(name, "Content-type")) {
  @@ -212,6 +216,7 @@
               size_t r = 0;
               long ll=len;
               char *bb=(char *)b;
  +            request_rec *rr=s->ws_private;
               
               if(!s->response_started) {
                   env->l->jkLog(env, env->l, JK_LOG_INFO, 
  @@ -220,6 +225,21 @@
                       return JK_FALSE;
                   }
               }
  +
  +            
  +            {
  +                const apr_array_header_t *t = apr_table_elts(rr->headers_out);
  +                if(t && t->nelts) {
  +                    int i;
  +                    
  +                    apr_table_entry_t *elts = (apr_table_entry_t *)t->elts;
  +
  +                    for(i = 0 ; i < t->nelts ; i++) {
  +                        env->l->jkLog(env, env->l, JK_LOG_INFO, "OutHeaders %s: %s\n",
  +                                      elts[i].key, elts[i].val);
  +                    }
  +                }
  +            }
               
               /* Debug - try to get around rwrite */
               while( ll > 0 ) {
  @@ -434,7 +454,7 @@
   
   #ifdef USE_APRTABLES
       jk_map_aprtable_factory( env, s->pool,
  -                             &s->headers_in,
  +                             (void *)&s->headers_in,
                                "map", "aprtable" );
       s->headers_in->init( env, s->headers_in, 0, r->headers_in);
   #else
  @@ -463,7 +483,7 @@
       }
   
   #ifdef USE_APRTABLES
  -    jk_map_aprtable_factory( env, s->pool, &s->headers_out,
  +    jk_map_aprtable_factory( env, s->pool, (void *)&s->headers_out,
                                "map", "aprtable" );
       s->headers_in->init( env, s->headers_out, 0, r->headers_out);
   #else
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>