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/03/26 04:04:54 UTC

cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 jk_logger_apache2.c mod_jk2.c

costin      02/03/25 19:04:54

  Modified:    jk/native2/server/apache13 mod_jk2.c
               jk/native2/server/apache2 jk_logger_apache2.c mod_jk2.c
  Log:
  Update to the interface changes, implement the vargs logging function in logger.apache2
  
  Revision  Changes    Path
  1.8       +25 -11    jakarta-tomcat-connectors/jk/native2/server/apache13/mod_jk2.c
  
  Index: mod_jk2.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache13/mod_jk2.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- mod_jk2.c	25 Mar 2002 03:31:41 -0000	1.7
  +++ mod_jk2.c	26 Mar 2002 03:04:54 -0000	1.8
  @@ -59,7 +59,7 @@
    * Description: Apache 1.3 plugin for Jakarta/Tomcat                         *
    * Author:      Gal Shachor <sh...@il.ibm.com>                           *
    *                 Henri Gomez <hg...@slib.fr>                               *
  - * Version:     $Revision: 1.7 $                                           *
  + * Version:     $Revision: 1.8 $                                           *
    ***************************************************************************/
   
   /*
  @@ -138,6 +138,7 @@
       jk_env_t *env;
       jk_logger_t *l;
       jk_pool_t *globalPool;
  +    jk_bean_t *jkb;
       
       /** First create a pool. We use the default ( jk ) pool impl,
        *  other choices are apr or native.
  @@ -156,12 +157,16 @@
       /* Create the logger . We use the default jk logger, will output
          to a file. Check the logger for default settings.
       */
  -    l = env->createInstance( env, env->globalPool, "logger.file", "logger");
  +    jkb=env->createBean2( env, env->globalPool, "logger.file", "");
  +    l = jkb->object;
       env->l=l;
  +    env->alias( env, "logger.file:", "logger");
       
       /* Create the workerEnv
        */
  -    workerEnv= env->createInstance( env, env->globalPool,"workerEnv", "workerEnv");
  +    jkb=env->createBean2( env, env->globalPool,"workerEnv", "");
  +    workerEnv= jkb->object;
  +    env->alias( env, "workerEnv:", "workerEnv");
   
       if( workerEnv==NULL || l== NULL  ) {
           fprintf( stderr, "Error initializing jk, NULL objects \n");
  @@ -195,6 +200,7 @@
   static void *jk2_create_config(ap_pool *p, server_rec *s)
   {
       jk_uriEnv_t *newUri;
  +    jk_bean_t *jkb;
   
       if(  workerEnv==NULL ) {
           jk2_create_workerEnv(p, s );
  @@ -207,9 +213,10 @@
           fprintf( stderr, "Create config for main host\n");
       }
   
  -    newUri = workerEnv->globalEnv->createInstance( workerEnv->globalEnv,
  -                                                   workerEnv->pool,
  -                                                   "uri", NULL );
  +    jkb=workerEnv->globalEnv->createBean2( workerEnv->globalEnv,
  +                                           workerEnv->pool,
  +                                           "uri", NULL );
  +    newUri = jkb->object;
       newUri->workerEnv=workerEnv;
       return newUri;
   }
  @@ -257,6 +264,7 @@
   
           env->l->jkLog(env, env->l, JK_LOG_INFO,
                         "mod_jk.post_config() init worker env\n");
  +
           workerEnv->init(env, workerEnv );
           
           workerEnv->server_name   = (char *)ap_get_server_version();
  @@ -292,13 +300,14 @@
       if(uriEnv==NULL || strcmp(r->handler,JK_HANDLER)!= 0 )
           return DECLINED;
       
  -    /* XXX Get an env instance */
  -    env = workerEnv->globalEnv;
  +    /* Get an env instance */
  +    env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
   
       /* Set up r->read_chunked flags for chunked encoding, if present */
       if(rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)) {
           env->l->jkLog(env, env->l, JK_LOG_INFO,
                         "mod_jk.handler() Can't setup client block %d\n", rc);
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return rc;
       }
   
  @@ -326,6 +335,7 @@
       if(worker==NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
                         "mod_jk.handle() No worker for %s\n", r->uri); 
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return 500;
       }
   
  @@ -369,11 +379,13 @@
       }
   
       if(rc==JK_TRUE) {
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return OK;    /* NOT r->status, even if it has changed. */
       }
   
       env->l->jkLog(env, env->l, JK_LOG_ERROR,
                "mod_jk.handler() Error connecting to tomcat %d\n", rc);
  +    workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
       return 500;
   }
   
  @@ -393,12 +405,13 @@
       if( workerEnv->uriMap->size == 0 )
           return DECLINED;
       
  -    /* XXX get_env() */
  -    env=workerEnv->globalEnv;
  +    /* get_env() */
  +    env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
           
       uriEnv = workerEnv->uriMap->mapUri(env, workerEnv->uriMap,NULL,r->uri );
       
       if(uriEnv==NULL || uriEnv->workerName==NULL) {
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return DECLINED;
       }
   
  @@ -408,7 +421,8 @@
       env->l->jkLog(env, env->l, JK_LOG_INFO, 
                     "mod_jk.translate(): uriMap %s %s\n",
                     r->uri, uriEnv->workerName);
  -    
  +
  +    workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
       return OK;
   }
   
  
  
  
  1.16      +24 -8     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.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- jk_logger_apache2.c	23 Mar 2002 17:15:08 -0000	1.15
  +++ jk_logger_apache2.c	26 Mar 2002 03:04:54 -0000	1.16
  @@ -106,15 +106,15 @@
       return JK_TRUE;
   }
   
  -static int jk2_logger_apache2_jkLog(jk_env_t *env, jk_logger_t *l,
  -                                   const char *file,
  -                                   int line,
  -                                   int level,
  -                                   const char *fmt, ...)
  +static int jk2_logger_apache2_jkVLog(jk_env_t *env, jk_logger_t *l,
  +                                     const char *file,
  +                                     int line,
  +                                     int level,
  +                                     char *fmt,
  +                                     va_list args)
   {
       /* XXX map jk level to apache level */
       server_rec *s=(server_rec *)l->logger_private;
  -    va_list args;
       int rc;
   
       /* XXX XXX Change this to "SMALLSTACK" or something, I don't think it's
  @@ -134,7 +134,6 @@
           return JK_FALSE;
       }
       
  -    va_start(args, fmt);
   #ifdef WIN32
       rc = _vsnprintf(buf, HUGE_BUFFER_SIZE, fmt, args);
   #elif defined(NETWARE) /* until we get a vsnprintf function */
  @@ -146,7 +145,6 @@
   #else 
       rc = vsnprintf(buf, HUGE_BUFFER_SIZE, fmt, args);
   #endif
  -    va_end(args);
       rc=strlen( buf );
       /* Remove trailing \n. XXX need to change the log() to not include \n */
       if( buf[rc-1] == '\n' )
  @@ -162,6 +160,23 @@
       return rc ;
   }
   
  +static int jk2_logger_apache2_jkLog(jk_env_t *env, jk_logger_t *l,
  +                                 const char *file,
  +                                 int line,
  +                                 int level,
  +                                 const char *fmt, ...)
  +{
  +    va_list args;
  +    int rc;
  +    
  +    va_start(args, fmt);
  +    rc=jk2_logger_apache2_jkVLog( env, l, file, line, level, fmt, args );
  +    va_end(args);
  +
  +    return rc;
  +}
  +
  +
   static int JK_METHOD
   jk2_logger_file_setProperty(jk_env_t *env, jk_bean_t *mbean, 
                               char *name,  void *valueP )
  @@ -194,6 +209,7 @@
       l->logger_private = NULL;
       l->init =jk2_logger_apache2_init;
       l->jkLog = jk2_logger_apache2_jkLog;
  +    l->jkVLog = jk2_logger_apache2_jkVLog;
   
       l->level=JK_LOG_ERROR_LEVEL;
       
  
  
  
  1.7       +34 -17    jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c
  
  Index: mod_jk2.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- mod_jk2.c	23 Mar 2002 17:15:08 -0000	1.6
  +++ mod_jk2.c	26 Mar 2002 03:04:54 -0000	1.7
  @@ -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.6 $                                           *
  + * Version:     $Revision: 1.7 $                                           *
    ***************************************************************************/
   
   /*
  @@ -219,9 +219,9 @@
       /* We don't know the vhost yet - so path is not
        * unique. We'll have to generate a unique name
        */
  -    jk_uriEnv_t *newUri = workerEnv->globalEnv->createInstance( workerEnv->globalEnv,
  -                                                                workerEnv->pool,
  -                                                                "uri", path );
  +    jk_bean_t *jkb=workerEnv->globalEnv->createBean2( workerEnv->globalEnv,
  +                                                      workerEnv->pool, "uri", path );
  +    jk_uriEnv_t *newUri = jkb->object;
       newUri->workerEnv=workerEnv;
       newUri->mbean->setAttribute( workerEnv->globalEnv, newUri->mbean, "path", path );
       return newUri;
  @@ -252,7 +252,7 @@
       jk_env_t *env;
       jk_logger_t *l;
       jk_pool_t *globalPool;
  -
  +    jk_bean_t *jkb;
       
       /** First create a pool. Compile time option
        */
  @@ -272,10 +272,14 @@
       
       /* Create the logger */
   #ifdef NO_APACHE_LOGGER
  -    l = env->createInstance( env, env->globalPool, "logger.file", "logger");
  +    jkb=env->createBean2( env, env->globalPool, "logger.file", "");
  +    env->alias( env, "logger.file:", "logger");
  +    l = jkb->object;
   #else
       env->registerFactory( env, "logger.apache2",    jk2_logger_apache2_factory );
  -    l = env->createInstance( env, env->globalPool, "logger.apache2", "logger");
  +    jkb=env->createBean2( env, env->globalPool, "logger.apache2", "");
  +    env->alias( env, "logger.apache2:", "logger");
  +    l = jkb->object;
       l->logger_private=s;
   #endif
       
  @@ -285,7 +289,9 @@
          ap_server_root_relative(cmd->pool,opt); */
       
       /* Create the workerEnv */
  -    workerEnv= env->createInstance( env, env->globalPool,"workerEnv", "workerEnv");
  +    jkb=env->createBean2( env, env->globalPool,"workerEnv", "");
  +    workerEnv= jkb->object;
  +    env->alias( env, "workerEnv:" , "workerEnv");
   
       if( workerEnv==NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR, "Error creating workerEnv\n");
  @@ -304,6 +310,7 @@
   static void *jk2_create_config(apr_pool_t *p, server_rec *s)
   {
       jk_uriEnv_t *newUri;
  +    jk_bean_t *jkb;
   
       if(  workerEnv==NULL ) {
           jk2_create_workerEnv(p, s );
  @@ -316,9 +323,11 @@
           fprintf( stderr, "Create config for main host\n");        
       }
   
  -   newUri = workerEnv->globalEnv->createInstance( workerEnv->globalEnv,
  -                                                   workerEnv->pool,
  -                                                   "uri", NULL );
  +    jkb = workerEnv->globalEnv->createBean2( workerEnv->globalEnv,
  +                                             workerEnv->pool,
  +                                             "uri", NULL );
  +   newUri=jkb->object;
  +   
      newUri->workerEnv=workerEnv;
       
      return newUri;
  @@ -482,13 +491,14 @@
   
       workerEnv = uriEnv->workerEnv;
   
  -    /* XXX Get an env instance */
  -    env = workerEnv->globalEnv;
  +    /* Get an env instance */
  +    env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
   
       /* Set up r->read_chunked flags for chunked encoding, if present */
       if(rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)) {
           env->l->jkLog(env, env->l, JK_LOG_INFO,
                         "mod_jk.handler() Can't setup client block %d\n", rc);
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return rc;
       }
   
  @@ -505,7 +515,7 @@
                         worker, uriEnv->webapp );
           
           if( worker==NULL && uriEnv->workerName != NULL ) {
  -            worker=env->getByName( env, uriEnv->workerName);
  +             worker=env->getByName( env, uriEnv->workerName);
               env->l->jkLog(env, env->l, JK_LOG_INFO, 
                             "mod_jk.handler() finding worker for %p %p\n",
                             worker, uriEnv );
  @@ -516,6 +526,7 @@
       if(worker==NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
                         "mod_jk.handle() No worker for %s\n", r->uri); 
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return 500;
       }
   
  @@ -560,11 +571,13 @@
       }
   
       if(rc==JK_TRUE) {
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return OK;    /* NOT r->status, even if it has changed. */
       }
   
       env->l->jkLog(env, env->l, JK_LOG_ERROR,
  -             "mod_jk.handler() Error connecting to tomcat %d\n", rc);
  +                  "mod_jk.handler() Error connecting to tomcat %d\n", rc);
  +    workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
       return 500;
   }
   
  @@ -584,8 +597,8 @@
       uriEnv=ap_get_module_config( r->per_dir_config, &jk2_module );
       workerEnv=uriEnv->workerEnv;
       
  -    /* XXX get_env() */
  -    env=workerEnv->globalEnv;
  +    /* get_env() */
  +    env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
           
       /* This has been mapped to a location by apache
        * In a previous ( experimental ) version we had a sub-map,
  @@ -598,6 +611,7 @@
           
           ap_set_module_config( r->request_config, &jk2_module, uriEnv );        
           r->handler=JK_HANDLER;
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return OK;
       }
   
  @@ -608,6 +622,7 @@
   
       /* Check JkMount directives, if any */
       if( workerEnv->uriMap->size == 0 )
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return DECLINED;
       
       /* XXX TODO: Split mapping, similar with tomcat. First step will
  @@ -618,6 +633,7 @@
       uriEnv = workerEnv->uriMap->mapUri(env, workerEnv->uriMap,NULL,r->uri );
   
       if( uriEnv== NULL || uriEnv->workerName == NULL) {
  +        workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
           return DECLINED;
       }
   
  @@ -628,6 +644,7 @@
                     "mod_jk.translate(): uriMap %s %s\n",
                     r->uri, uriEnv->workerName);
   
  +    workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
       return OK;
   }
   
  
  
  

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