mturk       2005/04/21 03:36:58

  Modified:    jk/native/common jk_map.c jk_util.c jk_util.h
  Log:
  Add is_unique property check, so that multiple unique directives override
  each other, instead making a list out of unique property values.
  Increase the read buffer size to 8K, that should be enough for all cases.
  
  Revision  Changes    Path
  1.35      +13 -18    jakarta-tomcat-connectors/jk/native/common/jk_map.c
  
  Index: jk_map.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_map.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- jk_map.c  13 Apr 2005 12:02:08 -0000      1.34
  +++ jk_map.c  21 Apr 2005 10:36:58 -0000      1.35
  @@ -32,7 +32,7 @@
   #include "jk_shm.h"
   
   #define CAPACITY_INC_SIZE (50)
  -#define LENGTH_OF_LINE    (1024)
  +#define LENGTH_OF_LINE    (8192)
   
   #ifdef AS400
   #define CASE_MASK 0xbfbfbfbf
  @@ -233,7 +233,7 @@
       sprintf(buf, "%f", def);
       rc = jk_map_get_string(m, name, buf);
   
  -    return atof(rc); 
  +    return atof(rc);
   }
   
   int jk_map_get_bool(jk_map_t *m, const char *name, int def)
  @@ -242,7 +242,7 @@
       size_t len;
       const char *rc;
       int rv = 0;
  -    
  +
       sprintf(buf, "%d", def);
       rc = jk_map_get_string(m, name, buf);
   
  @@ -280,7 +280,7 @@
           }
   
           /*
  -         * GS, in addition to VG's patch, we now need to 
  +         * GS, in addition to VG's patch, we now need to
            * strtok also by a "*"
            */
   #if defined(AS400) || defined(_REENTRANT)
  @@ -355,7 +355,7 @@
   
       if (strlen(str) > LENGTH_OF_LINE)
           return JK_FALSE;
  -    
  +
       strcpy(prp, str);
       if (trim(prp)) {
           char *v = strchr(prp, '=');
  @@ -367,22 +367,17 @@
               if (strlen(v) && strlen(prp)) {
                   const char *oldv = jk_map_get_string(m, prp, NULL);
                   v = jk_map_replace_properties(v, m);
  -                if (oldv) {
  +                if (oldv && jk_is_unique_property(prp) == JK_FALSE) {
                       char *tmpv = jk_pool_alloc(&m->p,
  -                        strlen(v) +
  -                        strlen(oldv) + 3);
  +                                       strlen(v) + strlen(oldv) + 3);
                       if (tmpv) {
                           char sep = '*';
  -                        if (jk_is_path_poperty(prp)) {
  +                        if (jk_is_path_poperty(prp))
                               sep = PATH_SEPERATOR;
  -                        }
  -                        else if (jk_is_cmd_line_poperty(prp)) {
  +                        else if (jk_is_cmd_line_poperty(prp))
                               sep = ' ';
  -                        }
  -                        else if (!stricmp(prp, "worker.list")) {
  +                        else if (!stricmp(prp, "worker.list"))
                               sep = ',';
  -                        }
  -
                           sprintf(tmpv, "%s%c%s", oldv, sep, v);
                       }
                       v = tmpv;
  @@ -485,7 +480,7 @@
   static size_t trim(char *s)
   {
       size_t i;
  -    
  +
       /* check for empty strings */
       if (!(i = strlen(s)))
           return 0;
  @@ -540,7 +535,7 @@
   
   /**
    *  Replace $(property) in value.
  - * 
  + *
    */
   char *jk_map_replace_properties(const char *value, jk_map_t *m)
   {
  
  
  
  1.62      +90 -51    jakarta-tomcat-connectors/jk/native/common/jk_util.c
  
  Index: jk_util.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.c,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- jk_util.c 22 Feb 2005 08:42:45 -0000      1.61
  +++ jk_util.c 21 Apr 2005 10:36:58 -0000      1.62
  @@ -42,7 +42,7 @@
   #define LIBPATH_OF_WORKER           ("ld_path")
   #define CMD_LINE_OF_WORKER          ("cmd_line")
   #define NATIVE_LIB_OF_WORKER        ("native_lib")
  -#define PREFIX_OF_WORKER            ("worker")
  +#define PREFIX_OF_WORKER            "worker"
   #define HOST_OF_WORKER              ("host")
   #define PORT_OF_WORKER              ("port")
   #define TYPE_OF_WORKER              ("type")
  @@ -88,8 +88,8 @@
   #define HUGE_BUFFER_SIZE (8*1024)
   #define LOG_LINE_SIZE    (1024)
   
  -/* 
  - * define the log format, we're using by default the one from error.log 
  +/*
  + * define the log format, we're using by default the one from error.log
    *
    * [Mon Mar 26 19:44:48 2001] [jk_uri_worker_map.c (155)]: Into 
jk_uri_worker_map_t::uri_worker_map_alloc
    * log format used by apache in error.log
  @@ -293,10 +293,10 @@
   #endif
           set_time_str(buf, HUGE_BUFFER_SIZE);
           used = strlen(buf);
  -        
  +
           /* Log [pid:threadid] for debug and trace levels */
           if (l->level < JK_LOG_INFO_LEVEL) {
  -#ifdef USE_SPRINTF              /* until we get a snprintf function */       
 
  +#ifdef USE_SPRINTF              /* until we get a snprintf function */
               used += sprintf(&buf[used], "[%04d:%04d] ", getpid(),
                               jk_gettid());
   #else
  @@ -310,7 +310,7 @@
           if (line) {
               strcat(buf, jk_level_werbs[level]);
               used += 8;
  -        
  +
               if (funcname) {
                   strcat(buf, funcname);
                   strcat(buf, "::");
  @@ -318,7 +318,7 @@
               }
           }
   
  -#ifdef USE_SPRINTF              /* until we get a snprintf function */       
 
  +#ifdef USE_SPRINTF              /* until we get a snprintf function */
           if (line)
               used += sprintf(&buf[used], "%s (%d): ", f, line);
   #else
  @@ -354,7 +354,7 @@
           return NULL;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, TYPE_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, TYPE_OF_WORKER);
   
       return jk_map_get_string(m, buf, DEFAULT_WORKER_TYPE);
   }
  @@ -365,7 +365,7 @@
       if (!m || !wname) {
           return NULL;
       }
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, DOMAIN_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, DOMAIN_OF_WORKER);
       return jk_map_get_string(m, buf, def);
   }
   
  @@ -375,7 +375,7 @@
       if (!m || !wname) {
           return NULL;
       }
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, REDIRECT_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, REDIRECT_OF_WORKER);
       return jk_map_get_string(m, buf, def);
   }
   
  @@ -387,7 +387,7 @@
           return NULL;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, SECRET_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, SECRET_OF_WORKER);
   
       return jk_map_get_string(m, buf, NULL);
   }
  @@ -402,7 +402,7 @@
       char buf[1024];
   
       if (m && prop && wname && pname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, pname);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, pname);
           *prop = jk_map_get_string(m, buf, NULL);
           if (*prop) {
               return JK_TRUE;
  @@ -418,7 +418,7 @@
   
       if (m && prop && wname && pname) {
           int i;
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, pname);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, pname);
           i = jk_map_get_int(m, buf, -1);
           if (-1 != i) {
               *prop = i;
  @@ -436,7 +436,7 @@
           return NULL;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, HOST_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, HOST_OF_WORKER);
   
       return jk_map_get_string(m, buf, def);
   }
  @@ -449,7 +449,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, PORT_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, PORT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
   }
  @@ -460,7 +460,7 @@
       if (def_cache_size < 1) {
           if (protocol == AJP14_PROTO)
               def_cache_size = AJP14_DEF_CACHE_SZ;
  -        else 
  +        else
               def_cache_size = AJP13_DEF_CACHE_SZ;
       }
       return def_cache_size;
  @@ -479,7 +479,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, CACHE_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, CACHE_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
   }
  @@ -492,7 +492,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               SOCKET_TIMEOUT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -506,7 +506,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               WORKER_RECOVER_TIME);
   
       return jk_map_get_int(m, buf, def);
  @@ -520,7 +520,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               SOCKET_BUFFER_OF_WORKER);
   
       i = jk_map_get_int(m, buf, 0);
  @@ -537,7 +537,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               SOCKET_KEEPALIVE_OF_WORKER);
   
       return jk_map_get_bool(m, buf, def);
  @@ -551,7 +551,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               CACHE_TIMEOUT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -565,7 +565,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               CONNECT_TIMEOUT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -579,7 +579,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               PREPOST_TIMEOUT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -593,7 +593,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               REPLY_TIMEOUT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -607,7 +607,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               RECYCLE_TIMEOUT_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -621,14 +621,14 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               RETRIES_OF_WORKER);
   
       rv = jk_map_get_int(m, buf, def);
       if (rv < 1)
           rv = 1;
   
  -    return rv;        
  +    return rv;
   }
   
   int jk_get_worker_recovery_opts(jk_map_t *m, const char *wname, int def)
  @@ -639,7 +639,7 @@
           return -1;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
               RECOVERY_OPTS_OF_WORKER);
   
       return jk_map_get_int(m, buf, def);
  @@ -653,7 +653,7 @@
           return NULL;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, SECRET_KEY_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, SECRET_KEY_OF_WORKER);
       return jk_map_get_string(m, buf, NULL);
   }
   
  @@ -681,7 +681,7 @@
       char buf[1024];
       if (m && wname) {
           int value;
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, 
IS_WORKER_DISABLED);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, IS_WORKER_DISABLED);
           value = jk_map_get_bool(m, buf, 0);
           if (!value)
               rc = JK_FALSE;
  @@ -702,7 +702,7 @@
           return DEFAULT_LB_FACTOR;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, LOAD_FACTOR_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, LOAD_FACTOR_OF_WORKER);
   
       return jk_map_get_int(m, buf, DEFAULT_LB_FACTOR);
   }
  @@ -713,7 +713,7 @@
       char buf[1024];
       if (m && wname) {
           int value;
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, STICKY_SESSION);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, STICKY_SESSION);
           value = jk_map_get_bool(m, buf, 1);
           if (!value)
               rc = JK_FALSE;
  @@ -727,7 +727,7 @@
       char buf[1024];
       if (m && wname) {
           int value;
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, 
STICKY_SESSION_FORCE);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, STICKY_SESSION_FORCE);
           value = jk_map_get_bool(m, buf, 0);
           if (value)
               rc = JK_TRUE;
  @@ -743,7 +743,7 @@
           return DEFAULT_LB_FACTOR;
       }
   
  -    sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, METHOD_OF_WORKER);
  +    sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, METHOD_OF_WORKER);
       v = jk_map_get_string(m, buf, NULL);
       if (!v)
           return JK_LB_BYREQUESTS;
  @@ -764,7 +764,7 @@
       if (m && list && num_of_wokers && lb_wname) {
           char **ar = NULL;
   
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, lb_wname,
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", lb_wname,
                   BALANCE_WORKERS);
           ar = jk_map_get_string_list(m, buf, num_of_wokers, NULL);
           if (ar) {
  @@ -772,7 +772,7 @@
               return JK_TRUE;
           }
           /* Try old balanced_workers directive */
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, lb_wname,
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", lb_wname,
                   BALANCED_WORKERS);
           ar = jk_map_get_string_list(m, buf, num_of_wokers, NULL);
           if (ar) {
  @@ -795,7 +795,7 @@
       if (m && list && num_of_maps && wname) {
           char **ar = NULL;
   
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
                   MOUNT_OF_WORKER);
           ar = jk_map_get_string_list(m, buf, num_of_maps, NULL);
           if (ar) {
  @@ -815,7 +815,7 @@
   
       if (m && mx && wname) {
           int i;
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, MX_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, MX_OF_WORKER);
   
           i = jk_map_get_int(m, buf, -1);
           if (-1 != i) {
  @@ -833,7 +833,7 @@
   
       if (m && ms && wname) {
           int i;
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, MS_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, MS_OF_WORKER);
   
           i = jk_map_get_int(m, buf, -1);
           if (-1 != i) {
  @@ -850,7 +850,7 @@
       char buf[1024];
   
       if (m && cp && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, CP_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, CP_OF_WORKER);
   
           *cp = jk_map_get_string(m, buf, NULL);
           if (*cp) {
  @@ -867,7 +867,7 @@
       const char *type;
   
       if (m && bt && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, BRIDGE_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, BRIDGE_OF_WORKER);
   
           type = jk_map_get_string(m, buf, NULL);
   
  @@ -895,7 +895,7 @@
       char buf[1024];
   
       if (m && vm_path && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, JVM_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, JVM_OF_WORKER);
   
           *vm_path = jk_map_get_string(m, buf, NULL);
           if (*vm_path) {
  @@ -912,7 +912,7 @@
       char buf[1024];
   
       if (m && cb_path && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname,
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname,
                   NATIVE_LIB_OF_WORKER);
   
           *cb_path = jk_map_get_string(m, buf, NULL);
  @@ -929,7 +929,7 @@
       char buf[1024];
   
       if (m && cmd_line && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, 
CMD_LINE_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, CMD_LINE_OF_WORKER);
   
           *cmd_line = jk_map_get_string(m, buf, NULL);
           if (*cmd_line) {
  @@ -982,12 +982,51 @@
       return jk_is_some_property(prp_name, CMD_LINE_OF_WORKER);
   }
   
  +static const char *unique_properties[] = {
  +    HOST_OF_WORKER,
  +    PORT_OF_WORKER,
  +    TYPE_OF_WORKER,
  +    CACHE_OF_WORKER,
  +    CACHE_TIMEOUT_OF_WORKER,
  +    RECOVERY_OPTS_OF_WORKER,
  +    CONNECT_TIMEOUT_OF_WORKER,
  +    PREPOST_TIMEOUT_OF_WORKER,
  +    REPLY_TIMEOUT_OF_WORKER,
  +    SOCKET_TIMEOUT_OF_WORKER,
  +    SOCKET_BUFFER_OF_WORKER,
  +    SOCKET_KEEPALIVE_OF_WORKER,
  +    RECYCLE_TIMEOUT_OF_WORKER,
  +    LOAD_FACTOR_OF_WORKER,
  +    STICKY_SESSION,
  +    STICKY_SESSION_FORCE,
  +    DOMAIN_OF_WORKER,
  +    REDIRECT_OF_WORKER,
  +    MOUNT_OF_WORKER,
  +    METHOD_OF_WORKER,
  +    IS_WORKER_DISABLED,
  +    WORKER_RECOVER_TIME,
  +    SECRET_KEY_OF_WORKER,
  +    RETRIES_OF_WORKER,
  +    NULL
  +};
  +
  +int jk_is_unique_property(const char *prp_name)
  +{
  +    const char **props = &unique_properties[0];
  +    while (*props) {
  +        if (jk_is_some_property(prp_name, *props))
  +            return JK_TRUE;
  +        props++;
  +    }
  +    return JK_FALSE;
  +}
  +
   int jk_get_worker_stdout(jk_map_t *m, const char *wname, const char 
**stdout_name)
   {
       char buf[1024];
   
       if (m && stdout_name && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, STDOUT_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, STDOUT_OF_WORKER);
   
           *stdout_name = jk_map_get_string(m, buf, NULL);
           if (*stdout_name) {
  @@ -1003,7 +1042,7 @@
       char buf[1024];
   
       if (m && stderr_name && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, STDERR_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, STDERR_OF_WORKER);
   
           *stderr_name = jk_map_get_string(m, buf, NULL);
           if (*stderr_name) {
  @@ -1019,7 +1058,7 @@
       char buf[1024];
   
       if (m && sysprops && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, 
SYSPROPS_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, SYSPROPS_OF_WORKER);
   
           *sysprops = jk_map_get_string(m, buf, NULL);
           if (*sysprops) {
  @@ -1035,7 +1074,7 @@
       char buf[1024];
   
       if (m && libpath && wname) {
  -        sprintf(buf, "%s.%s.%s", PREFIX_OF_WORKER, wname, LIBPATH_OF_WORKER);
  +        sprintf(buf, PREFIX_OF_WORKER ".%s.%s", wname, LIBPATH_OF_WORKER);
   
           *libpath = jk_map_get_string(m, buf, NULL);
           if (*libpath) {
  @@ -1157,7 +1196,7 @@
   #ifdef AS400
       /* OS400 use 64 bits ThreadId, get only low 32 bits for now */
       pthread_id_np_t       tid;
  -    pthread_getunique_np(&t, &tid);      
  +    pthread_getunique_np(&t, &tid);
       return ((int)(tid.intId.lo & 0xFFFFFFFF));
   #else
       int tid = (int)(t & 0xFFFF);
  
  
  
  1.31      +3 -1      jakarta-tomcat-connectors/jk/native/common/jk_util.h
  
  Index: jk_util.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.h,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- jk_util.h 22 Feb 2005 08:42:45 -0000      1.30
  +++ jk_util.h 21 Apr 2005 10:36:58 -0000      1.31
  @@ -126,6 +126,8 @@
   
   int jk_is_cmd_line_poperty(const char *prp_name);
   
  +int jk_is_unique_property(const char *prp_name);
  +
   int jk_get_worker_stdout(jk_map_t *m, const char *wname, const char 
**stdout_name);
   
   int jk_get_worker_stderr(jk_map_t *m, const char *wname, const char 
**stderr_name);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to