You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2005/02/15 09:52:54 UTC

cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp12_worker.c jk_ajp12_worker.h jk_ajp13_worker.c jk_ajp13_worker.h jk_ajp14_worker.c jk_ajp14_worker.h jk_jni_worker.c jk_jni_worker.h jk_lb_worker.c jk_lb_worker.h jk_service.h jk_status.c jk_status.h jk_worker.c jk_worker_list.h

mturk       2005/02/15 00:52:54

  Modified:    jk/native/common jk_ajp12_worker.c jk_ajp12_worker.h
                        jk_ajp13_worker.c jk_ajp13_worker.h
                        jk_ajp14_worker.c jk_ajp14_worker.h jk_jni_worker.c
                        jk_jni_worker.h jk_lb_worker.c jk_lb_worker.h
                        jk_service.h jk_status.c jk_status.h jk_worker.c
                        jk_worker_list.h
  Log:
  Make worker factory to return the numeric type of the worker,
  and use that type instead of string.
  
  Revision  Changes    Path
  1.22      +3 -3      jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.c
  
  Index: jk_ajp12_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- jk_ajp12_worker.c	15 Feb 2005 07:17:17 -0000	1.21
  +++ jk_ajp12_worker.c	15 Feb 2005 08:52:53 -0000	1.22
  @@ -260,7 +260,7 @@
                   private_data->worker.retries = JK_RETRIES;
   
                   *w = &private_data->worker;
  -                return JK_TRUE;
  +                return JK_AJP12_WORKER_TYPE;
               }
   
               free(private_data);
  @@ -271,7 +271,7 @@
           jk_log(l, JK_LOG_ERROR, "In ajp12_worker_factory, NULL parameters");
       }
   
  -    return JK_FALSE;
  +    return 0;
   }
   
   static int ajpv12_sendnbytes(ajp12_endpoint_t * p,
  
  
  
  1.9       +2 -1      jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.h
  
  Index: jk_ajp12_worker.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- jk_ajp12_worker.h	8 Nov 2004 13:23:25 -0000	1.8
  +++ jk_ajp12_worker.h	15 Feb 2005 08:52:53 -0000	1.9
  @@ -32,6 +32,7 @@
   #endif                          /* __cplusplus */
   
   #define JK_AJP12_WORKER_NAME ("ajp12")
  +#define JK_AJP12_WORKER_TYPE (1)
   
   int JK_METHOD ajp12_worker_factory(jk_worker_t **w,
                                      const char *name, jk_logger_t *l);
  
  
  
  1.24      +4 -4      jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.c
  
  Index: jk_ajp13_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- jk_ajp13_worker.c	6 Feb 2005 13:45:11 -0000	1.23
  +++ jk_ajp13_worker.c	15 Feb 2005 08:52:53 -0000	1.24
  @@ -84,7 +84,7 @@
       if (name == NULL || w == NULL) {
           JK_LOG_NULL_PARAMS(l);
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
       
       aw = (ajp_worker_t *) calloc(1, sizeof(ajp_worker_t));
  @@ -92,7 +92,7 @@
           jk_log(l, JK_LOG_ERROR,
                  "malloc of private_data failed");
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       aw->name = name;
  @@ -114,5 +114,5 @@
   
       *w = &aw->worker;
       JK_TRACE_EXIT(l);
  -    return JK_TRUE;
  +    return JK_AJP13_WORKER_TYPE;
   }
  
  
  
  1.11      +2 -1      jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.h
  
  Index: jk_ajp13_worker.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- jk_ajp13_worker.h	8 Nov 2004 13:24:46 -0000	1.10
  +++ jk_ajp13_worker.h	15 Feb 2005 08:52:53 -0000	1.11
  @@ -37,6 +37,7 @@
   #endif                          /* __cplusplus */
   
   #define JK_AJP13_WORKER_NAME ("ajp13")
  +#define JK_AJP13_WORKER_TYPE (2)
   
   int JK_METHOD ajp13_worker_factory(jk_worker_t **w,
                                      const char *name, jk_logger_t *l);
  
  
  
  1.28      +6 -6      jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.c,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- jk_ajp14_worker.c	6 Feb 2005 13:45:11 -0000	1.27
  +++ jk_ajp14_worker.c	15 Feb 2005 08:52:53 -0000	1.28
  @@ -376,7 +376,7 @@
       if (name == NULL || w == NULL) {
           JK_LOG_NULL_PARAMS(l);
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       aw = (ajp_worker_t *) calloc(1, sizeof(ajp_worker_t));
  @@ -384,7 +384,7 @@
           jk_log(l, JK_LOG_ERROR,
                  "malloc of private data failed");
          JK_TRACE_EXIT(l);
  -       return JK_FALSE;
  +       return 0;
       }
   
       aw->name = strdup(name);
  @@ -394,7 +394,7 @@
           jk_log(l, JK_LOG_ERROR,
                  "malloc failed for name");
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       aw->proto = AJP14_PROTO;
  @@ -405,7 +405,7 @@
           jk_log(l, JK_LOG_ERROR,
                  "malloc failed for login area");
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       memset(aw->login, 0, sizeof(jk_login_service_t));
  @@ -429,5 +429,5 @@
       *w = &aw->worker;
   
       JK_TRACE_EXIT(l);
  -    return JK_TRUE;
  +    return JK_AJP14_WORKER_TYPE;
   }
  
  
  
  1.13      +2 -1      jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.h
  
  Index: jk_ajp14_worker.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.h,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- jk_ajp14_worker.h	8 Nov 2004 13:26:45 -0000	1.12
  +++ jk_ajp14_worker.h	15 Feb 2005 08:52:53 -0000	1.13
  @@ -39,6 +39,7 @@
   #endif                          /* __cplusplus */
   
   #define JK_AJP14_WORKER_NAME ("ajp14")
  +#define JK_AJP14_WORKER_TYPE (3)
   
   int JK_METHOD ajp14_worker_factory(jk_worker_t **w,
                                      const char *name, jk_logger_t *l);
  
  
  
  1.32      +6 -6      jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.c
  
  Index: jk_jni_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.c,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- jk_jni_worker.c	7 Feb 2005 16:35:15 -0000	1.31
  +++ jk_jni_worker.c	15 Feb 2005 08:52:53 -0000	1.32
  @@ -639,7 +639,7 @@
       if (!name || !w) {
           JK_LOG_NULL_PARAMS(l);
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       if (the_singleton_jni_worker) {
  @@ -647,7 +647,7 @@
                  "instance already created");
           *w = the_singleton_jni_worker;
           JK_TRACE_EXIT(l);
  -        return JK_TRUE;
  +        return JK_JNI_WORKER_TYPE;
       }
   
       private_data = (jni_worker_t *) malloc(sizeof(jni_worker_t));
  @@ -656,7 +656,7 @@
           jk_log(l, JK_LOG_ERROR,
                  "memory allocation error");
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       jk_open_pool(&private_data->p,
  @@ -670,7 +670,7 @@
           jk_close_pool(&private_data->p);
           free(private_data);
           JK_TRACE_EXIT(l);
  -        return JK_FALSE;
  +        return 0;
       }
   
       private_data->was_verified = JK_FALSE;
  @@ -707,7 +707,7 @@
       the_singleton_jni_worker = &private_data->worker;
   
       JK_TRACE_EXIT(l);
  -    return JK_TRUE;
  +    return JK_JNI_WORKER_TYPE;
   }
   
   static int load_jvm_dll(jni_worker_t * p, jk_logger_t *l)
  
  
  
  1.9       +3 -2      jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.h
  
  Index: jk_jni_worker.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- jk_jni_worker.h	8 Nov 2004 13:29:52 -0000	1.8
  +++ jk_jni_worker.h	15 Feb 2005 08:52:53 -0000	1.9
  @@ -31,7 +31,8 @@
   {
   #endif                          /* __cplusplus */
   
  -#define JK_JNI_WORKER_NAME ("jni")
  +#define JK_JNI_WORKER_NAME  ("jni")
  +#define JK_JNI_WORKER_TYPE  (4)
   
   int JK_METHOD jni_worker_factory(jk_worker_t **w,
                                    const char *name, jk_logger_t *l);
  
  
  
  1.50      +4 -4      jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
  
  Index: jk_lb_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- jk_lb_worker.c	15 Feb 2005 07:25:41 -0000	1.49
  +++ jk_lb_worker.c	15 Feb 2005 08:52:53 -0000	1.50
  @@ -785,7 +785,7 @@
           if (!private_data->s) {
               free(private_data);
               JK_TRACE_EXIT(l);
  -            return JK_FALSE;
  +            return 0;
           }
           strncpy(private_data->s->name, name, JK_SHM_STR_SIZ);
           private_data->lb_workers = NULL;
  @@ -800,12 +800,12 @@
           private_data->s->recover_wait_time = WAIT_BEFORE_RECOVER;
           *w = &private_data->worker;
           JK_TRACE_EXIT(l);
  -        return JK_TRUE;
  +        return JK_LB_WORKER_TYPE;
       }
       else {
           JK_LOG_NULL_PARAMS(l);
       }
   
       JK_TRACE_EXIT(l);
  -    return JK_FALSE;
  +    return 0;
   }
  
  
  
  1.11      +2 -1      jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.h
  
  Index: jk_lb_worker.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- jk_lb_worker.h	14 Feb 2005 17:22:35 -0000	1.10
  +++ jk_lb_worker.h	15 Feb 2005 08:52:53 -0000	1.11
  @@ -34,6 +34,7 @@
   #endif                          /* __cplusplus */
   
   #define JK_LB_WORKER_NAME     ("lb")
  +#define JK_LB_WORKER_TYPE     (5)
   #define JK_LB_DEF_DOMAIN_NAME ("unknown")
   
   struct worker_record
  
  
  
  1.28      +2 -2      jakarta-tomcat-connectors/jk/native/common/jk_service.h
  
  Index: jk_service.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_service.h,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- jk_service.h	14 Feb 2005 17:26:34 -0000	1.27
  +++ jk_service.h	15 Feb 2005 08:52:53 -0000	1.28
  @@ -364,7 +364,7 @@
        */
       void *worker_private;
       
  -    const char *type;
  +    int   type;
       /*
        * For all of the below (except destroy), the first argument is
        * essentially a 'this' pointer.  
  
  
  
  1.7       +30 -11    jakarta-tomcat-connectors/jk/native/common/jk_status.c
  
  Index: jk_status.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- jk_status.c	15 Feb 2005 07:27:46 -0000	1.6
  +++ jk_status.c	15 Feb 2005 08:52:53 -0000	1.7
  @@ -29,6 +29,8 @@
   #include "jk_shm.h"
   #include "jk_ajp_common.h"
   #include "jk_lb_worker.h"
  +#include "jk_ajp13_worker.h"
  +#include "jk_ajp14_worker.h"
   #include "jk_connect.h"
   
   #define HUGE_BUFFER_SIZE (8*1024)
  @@ -61,6 +63,17 @@
       jk_worker_env_t   *we;
   };
   
  +static const char *worker_type[] = {
  +    "unknown",
  +    "ajp12",
  +    "ajp13",
  +    "ajp14",
  +    "jni",
  +    "lb",
  +    "status",
  +    NULL
  +};
  +
   static const char *headers_names[] = {
       "Content-Type",
       "Cache-Control",
  @@ -170,6 +183,14 @@
       } while (1);
   }
   
  +static const char *status_worker_type(int t)
  +{
  +    if (t > 0 && t < 7)
  +        t = 0;        
  +    return worker_type[t];
  +}
  +
  +
   static const char *status_val_bool(int v)
   {
       if (v == 0)
  @@ -240,13 +261,11 @@
           lb_worker_t *lb = NULL;
           if (w == NULL)
               continue;
  -        if (!strcasecmp(w->type, "lb")) {
  +        if (w->type == JK_LB_WORKER_TYPE) {
               lb = (lb_worker_t *)w->worker_private;
           }
  -        else if (!strcasecmp(w->type, "ajp13")) {
  -            aw = (ajp_worker_t *)w->worker_private;
  -        }
  -        else if (!strcasecmp(w->type, "ajp14")) {
  +        else if (w->type == JK_AJP13_WORKER_TYPE ||
  +                 w->type == JK_AJP14_WORKER_TYPE) {
               aw = (ajp_worker_t *)w->worker_private;
           }
           else {
  @@ -265,7 +284,7 @@
                       "<th>Local worker only</th>"
                       "<th>Retries</th>"
                       "</tr>\n<tr>");        
  -            jk_putv(s, "<td>", w->type, "</td>", NULL);
  +            jk_putv(s, "<td>", status_worker_type(w->type), "</td>", NULL);
               jk_putv(s, "<td>", status_val_bool(lb->s->sticky_session),
                       "</td>", NULL);
               jk_putv(s, "<td>", status_val_bool(lb->s->local_worker_only),
  @@ -285,7 +304,7 @@
                           wr->s->name, "</td>", NULL);
                   if (dworker && strcmp(dworker, wr->s->name) == 0)
                       selected = j;
  -                jk_putv(s, "<td>", wr->w->type, "</td>", NULL);
  +                jk_putv(s, "<td>", status_worker_type(wr->w->type), "</td>", NULL);
                   jk_printf(s, "<td>%s:%d</td>", a->host, a->port);
                   jk_putv(s, "<td>", jk_dump_hinfo(&a->worker_inet_addr, buf),
                           "</td>", NULL);
  @@ -344,7 +363,7 @@
               jk_puts(s, "\n\n<table border=\"0\"><tr>"
                       "<th>Type</th><th>Host</th><th>Addr</th>"
                       "</tr>\n<tr>");        
  -            jk_putv(s, "<td>", w->type, "</td>", NULL);
  +            jk_putv(s, "<td>", status_worker_type(w->type), "</td>", NULL);
               jk_puts(s, "</tr>\n</table>\n");
               jk_printf(s, "<td>%s:%d</td>", aw->host, aw->port);
               jk_putv(s, "<td>", jk_dump_hinfo(&aw->worker_inet_addr, buf),
  @@ -575,12 +594,12 @@
           private_data->ep.s_worker = private_data;
           *w = &private_data->worker;
           JK_TRACE_EXIT(l);
  -        return JK_TRUE;
  +        return JK_STATUS_WORKER_TYPE;
       }
       else {
           JK_LOG_NULL_PARAMS(l);
       }
   
       JK_TRACE_EXIT(l);
  -    return JK_FALSE;
  +    return 0;
   }
  
  
  
  1.2       +2 -2      jakarta-tomcat-connectors/jk/native/common/jk_status.h
  
  Index: jk_status.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_status.h	6 Feb 2005 17:43:09 -0000	1.1
  +++ jk_status.h	15 Feb 2005 08:52:53 -0000	1.2
  @@ -32,7 +32,7 @@
   #endif                          /* __cplusplus */
   
   #define JK_STATUS_WORKER_NAME     ("status")
  -#define JK_STATUS_DEF_DOMAIN_NAME ("unknown")
  +#define JK_STATUS_WORKER_TYPE     (6)
   
   int JK_METHOD status_worker_factory(jk_worker_t **w,
                                       const char *name, jk_logger_t *l);
  
  
  
  1.31      +4 -3      jakarta-tomcat-connectors/jk/native/common/jk_worker.c
  
  Index: jk_worker.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_worker.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- jk_worker.c	14 Feb 2005 17:26:34 -0000	1.30
  +++ jk_worker.c	15 Feb 2005 08:52:54 -0000	1.31
  @@ -110,6 +110,7 @@
           jk_worker_t *w = NULL;
           unsigned int i, num_of_maps;
           char **map_names;
  +        int wtype;
   
           *rc = NULL;
   
  @@ -125,7 +126,7 @@
                      "about to create instance %s of %s", name,
                      type);
   
  -        if (!fac(&w, name, l) || !w) {
  +        if (((wtype = fac(&w, name, l)) == 0) || !w) {
               jk_log(l, JK_LOG_ERROR,
                      "factory for %s failed for %s", type,
                      name);
  @@ -169,7 +170,7 @@
                   }
               }
           }
  -        w->type = type;
  +        w->type = wtype;
           *rc = w;
           JK_TRACE_EXIT(l);
           return JK_TRUE;
  
  
  
  1.13      +9 -8      jakarta-tomcat-connectors/jk/native/common/jk_worker_list.h
  
  Index: jk_worker_list.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_worker_list.h,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- jk_worker_list.h	6 Feb 2005 17:43:09 -0000	1.12
  +++ jk_worker_list.h	15 Feb 2005 08:52:54 -0000	1.13
  @@ -51,6 +51,7 @@
   struct worker_factory_record
   {
       const char *name;
  +    int        type;
       worker_factory fac;
   };
   typedef struct worker_factory_record worker_factory_record_t;
  @@ -59,38 +60,38 @@
       /*
        * AJPv12 worker, this is the stable worker.
        */
  -    {JK_AJP12_WORKER_NAME, ajp12_worker_factory},
  +    {JK_AJP12_WORKER_NAME, JK_AJP12_WORKER_TYPE, ajp12_worker_factory},
       /*
        * AJPv13 worker, fast bi-directional worker.
        */
  -    {JK_AJP13_WORKER_NAME, ajp13_worker_factory},
  +    {JK_AJP13_WORKER_NAME, JK_AJP13_WORKER_TYPE, ajp13_worker_factory},
       /*
        * AJPv14 worker, next generation fast bi-directional worker.
        */
  -    {JK_AJP14_WORKER_NAME, ajp14_worker_factory},
  +    {JK_AJP14_WORKER_NAME, JK_AJP14_WORKER_TYPE, ajp14_worker_factory},
       /*
        * In process JNI based worker. Requires the server to be 
        * multithreaded and to use native threads.
        */
   #ifdef HAVE_JNI
  -    {JK_JNI_WORKER_NAME, jni_worker_factory},
  +    {JK_JNI_WORKER_NAME, JK_JNI_WORKER_TYPE, jni_worker_factory},
   #endif
       /*
        * Load balancing worker. Performs round robin with sticky 
        * session load balancing.
        */
  -    {JK_LB_WORKER_NAME, lb_worker_factory},
  +    {JK_LB_WORKER_NAME, JK_LB_WORKER_TYPE, lb_worker_factory},
   
       /*
        * Status worker. Performs display display and
        * worker management.
        */
  -    {JK_STATUS_WORKER_NAME, status_worker_factory},
  +    {JK_STATUS_WORKER_NAME, JK_STATUS_WORKER_TYPE, status_worker_factory},
   
       /*
        * Marks the end of the worker factory list.
        */
  -    {NULL, NULL}
  +    {NULL, 0, NULL}
   };
   #endif /* _JK_WORKER_LIST_H */
   #endif /* _PLACE_WORKER_LIST_HERE */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org