You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2008/01/20 14:50:23 UTC

svn commit: r613556 - in /tomcat/connectors/trunk/jk/native: apache-1.3/mod_jk.c apache-2.0/mod_jk.c common/jk_uri_worker_map.c

Author: rjung
Date: Sun Jan 20 05:50:21 2008
New Revision: 613556

URL: http://svn.apache.org/viewvc?rev=613556&view=rev
Log:
Fix errors in new fail_on_status uri worker map
extension.

Modified:
    tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
    tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c
    tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c

Modified: tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c?rev=613556&r1=613555&r2=613556&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c Sun Jan 20 05:50:21 2008
@@ -651,6 +651,7 @@
             memcpy(s->extension.activation, e->activation, e->activation_size * sizeof(int));
         }
         if (e->fail_on_status_size > 0) {
+            s->extension.fail_on_status_size = e->fail_on_status_size;
             s->extension.fail_on_status = ap_palloc(r->pool, e->fail_on_status_size * sizeof(int));
             memcpy(s->extension.fail_on_status, e->fail_on_status, e->fail_on_status_size * sizeof(int));
         }

Modified: tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c?rev=613556&r1=613555&r2=613556&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c Sun Jan 20 05:50:21 2008
@@ -663,6 +663,7 @@
             memcpy(s->extension.activation, e->activation, e->activation_size * sizeof(int));
         }
         if (e->fail_on_status_size > 0) {
+            s->extension.fail_on_status_size = e->fail_on_status_size;
             s->extension.fail_on_status = apr_palloc(r->pool, e->fail_on_status_size * sizeof(int));
             memcpy(s->extension.fail_on_status, e->fail_on_status, e->fail_on_status_size * sizeof(int));
         }

Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c?rev=613556&r1=613555&r2=613556&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Sun Jan 20 05:50:21 2008
@@ -349,13 +349,16 @@
     return JK_TRUE;
 }
 
-static void extract_activation(lb_worker_t *lb,
+static void extract_activation(jk_uri_worker_map_t *uw_map,
+                               uri_worker_record_t *uwr,
+                               lb_worker_t *lb,
                                int *activations,
                                char *workers,
                                int activation,
                                jk_logger_t *l)
 {
     unsigned int i;
+    jk_pool_t *p;
     char *worker;
 #ifdef _MT_CODE_PTHREAD
     char *lasts;
@@ -363,11 +366,17 @@
 
     JK_TRACE_ENTER(l);
 
+    if (uwr->source_type == SOURCE_TYPE_URIMAP)
+        p = &IND_NEXT(uw_map->p_dyn);
+    else
+        p = &uw_map->p;
+    worker = jk_pool_strdup(p, workers);
+
 #ifdef _MT_CODE_PTHREAD
-    for (worker = strtok_r(workers, ", ", &lasts);
+    for (worker = strtok_r(worker, ", ", &lasts);
          worker; worker = strtok_r(NULL, ", ", &lasts)) {
 #else
-    for (worker = strtok(workers, ", "); worker; worker = strtok(NULL, ", ")) {
+    for (worker = strtok(worker, ", "); worker; worker = strtok(NULL, ", ")) {
 #endif
         for (i=0; i<lb->num_of_workers; i++) {
             if (!strcmp(worker, lb->lb_workers[i].name)) {
@@ -418,11 +427,13 @@
         p = &IND_NEXT(uw_map->p_dyn);
     else
         p = &uw_map->p;
+    status = jk_pool_strdup(p, uwr->extensions.fail_on_status_str);
     uwr->extensions.fail_on_status = (int *)jk_pool_alloc(p,
                                             uwr->extensions.fail_on_status_size * sizeof(int));
     if (!uwr->extensions.fail_on_status) {
         jk_log(l, JK_LOG_ERROR,
                "can't alloc extensions fail_on_status list");
+        JK_TRACE_EXIT(l);
         return;
     } else if (JK_IS_DEBUG_LEVEL(l))
         jk_log(l, JK_LOG_DEBUG,
@@ -436,10 +447,10 @@
 
     cnt = 0;
 #ifdef _MT_CODE_PTHREAD
-    for (status = strtok_r(uwr->extensions.fail_on_status_str, ", ", &lasts);
+    for (status = strtok_r(status, ", ", &lasts);
          status; status = strtok_r(NULL, "&", &lasts)) {
 #else
-    for (status = strtok(uwr->extensions.fail_on_status_str, ", "); status; status = strtok(NULL, ", ")) {
+    for (status = strtok(status, ", "); status; status = strtok(NULL, ", ")) {
 #endif
         uwr->extensions.fail_on_status[cnt] = atoi(status);
         cnt++;
@@ -489,13 +500,13 @@
                 }
             }
             if (uwr->extensions.active)
-                extract_activation(lb, uwr->extensions.activation,
+                extract_activation(uw_map, uwr, lb, uwr->extensions.activation,
                                    uwr->extensions.active, JK_LB_ACTIVATION_ACTIVE, l);
             if (uwr->extensions.disabled)
-                extract_activation(lb, uwr->extensions.activation,
+                extract_activation(uw_map, uwr, lb, uwr->extensions.activation,
                                    uwr->extensions.disabled, JK_LB_ACTIVATION_DISABLED, l);
             if (uwr->extensions.stopped)
-                extract_activation(lb, uwr->extensions.activation,
+                extract_activation(uw_map, uwr, lb, uwr->extensions.activation,
                                    uwr->extensions.stopped, JK_LB_ACTIVATION_STOPPED, l);
         }
         else if (uwr->extensions.active) {
@@ -516,7 +527,7 @@
                    JK_UWMAP_EXTENSION_STOPPED " for %s ignored",
                    uwr->worker_name, uwr->extensions.stopped);
         }
-        else if (uwr->extensions.fail_on_status_str) {
+        if (uwr->extensions.fail_on_status_str) {
             extract_fail_on_status(uw_map, uwr, l);
         }
     }
@@ -1090,7 +1101,7 @@
         if (statbuf.st_mtime == uw_map->modified) {
             if (JK_IS_DEBUG_LEVEL(l))
                 jk_log(l, JK_LOG_DEBUG,
-                       "File %s  is not modified",
+                       "File %s is not modified",
                        uw_map->fname);
             return JK_TRUE;
         }



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