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/03 11:44:22 UTC

svn commit: r608429 - in /tomcat/connectors/trunk/jk: native/common/jk_ajp12_worker.c native/common/jk_map.c native/common/jk_status.c native/common/jk_util.c xdocs/miscellaneous/changelog.xml

Author: rjung
Date: Thu Jan  3 02:44:21 2008
New Revision: 608429

URL: http://svn.apache.org/viewvc?rev=608429&view=rev
Log:
Use thread safe strtok_r on more platforms, especially AIX.
Detect multi threaded context using define _MT_CODE_PTHREAD
instead of _REENTRANT, which is not used on all platforms.

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c
    tomcat/connectors/trunk/jk/native/common/jk_map.c
    tomcat/connectors/trunk/jk/native/common/jk_status.c
    tomcat/connectors/trunk/jk/native/common/jk_util.c
    tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c?rev=608429&r1=608428&r2=608429&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c Thu Jan  3 02:44:21 2008
@@ -540,7 +540,7 @@
         char *line = NULL;
         char *name = NULL;
         char *value = NULL;
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
         char *lasts;
 #endif
 
@@ -588,7 +588,7 @@
         jk_log(l, JK_LOG_DEBUG, "ajpv12_handle_response, read %s=%s", name,
                value);
         if (0 == strcmp("Status", name)) {
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
             char *numeric = strtok_r(value, " \t", &lasts);
 #else
             char *numeric = strtok(value, " \t");
@@ -600,7 +600,7 @@
                        "ajpv12_handle_response, invalid status code");
                 return JK_FALSE;
             }
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
             reason = jk_pool_strdup(s->pool, strtok_r(NULL, " \t", &lasts));
 #else
             reason = jk_pool_strdup(s->pool, strtok(NULL, " \t"));

Modified: tomcat/connectors/trunk/jk/native/common/jk_map.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_map.c?rev=608429&r1=608428&r2=608429&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_map.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_map.c Thu Jan  3 02:44:21 2008
@@ -249,7 +249,7 @@
     const char *l = jk_map_get_string(m, name, def);
     char **ar = NULL;
 
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
     char *lasts;
 #endif
 
@@ -269,7 +269,7 @@
          * GS, in addition to VG's patch, we now need to
          * strtok also by a "*"
          */
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
         for (p = strtok_r(v, " \t,", &lasts);
              p; p = strtok_r(NULL, " \t,", &lasts))
 #else
@@ -305,7 +305,7 @@
 {
     const char *l = jk_map_get_string(m, name, def);
 
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
     char *lasts;
 #endif
 
@@ -326,7 +326,7 @@
          * GS, in addition to VG's patch, we now need to
          * strtok also by a "*"
          */
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
         for (p = strtok_r(v, " \t,", &lasts);
              p; p = strtok_r(NULL, " \t,", &lasts))
 #else

Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=608429&r1=608428&r2=608429&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Thu Jan  3 02:44:21 2008
@@ -929,7 +929,7 @@
 {
     jk_map_t *m;
     status_worker_t *w = p->worker;
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD_MT_CODE_PTHREAD
     char *lasts;
 #endif
     char *param;
@@ -978,7 +978,7 @@
         return JK_FALSE;
     }
 
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD_MT_CODE_PTHREAD
     for (param = strtok_r(query, "&", &lasts);
          param; param = strtok_r(NULL, "&", &lasts)) {
 #else

Modified: tomcat/connectors/trunk/jk/native/common/jk_util.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_util.c?rev=608429&r1=608428&r2=608429&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_util.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_util.c Thu Jan  3 02:44:21 2008
@@ -1756,7 +1756,7 @@
 char **jk_parse_sysprops(jk_pool_t *p, const char *sysprops)
 {
     char **rc = NULL;
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
     char *lasts;
 #endif
 
@@ -1774,7 +1774,7 @@
             rc = jk_pool_alloc(p, (num_of_prps + 1) * sizeof(char *));
             if (rc) {
                 unsigned i = 0;
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
                 char *tmp = strtok_r(prps, "*", &lasts);
 #else
                 char *tmp = strtok(prps, "*");
@@ -1782,7 +1782,7 @@
 
                 while (tmp && i < num_of_prps) {
                     rc[i] = tmp;
-#ifdef _REENTRANT
+#ifdef _MT_CODE_PTHREAD
                     tmp = strtok_r(NULL, "*", &lasts);
 #else
                     tmp = strtok(NULL, "*");

Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=608429&r1=608428&r2=608429&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Thu Jan  3 02:44:21 2008
@@ -43,6 +43,9 @@
   <br />
   <subsection name="Native">
     <changelog>
+      <fix>
+        Use thread safe strtok_r on more platforms, especially AIX. (rjung)
+      </fix>
       <update>
         Status: Improve XSS hardening. (rjung)
       </update>



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