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 2009/12/22 07:38:02 UTC

svn commit: r893085 - in /tomcat/jk/trunk/native/common: jk_ajp_common.c jk_ajp_common.h

Author: mturk
Date: Tue Dec 22 06:37:47 2009
New Revision: 893085

URL: http://svn.apache.org/viewvc?rev=893085&view=rev
Log:
Update fix for #47224 by adding addr_sequence to enpoint so that on ajp_done the reuse flag gets set to false and socket closed

Modified:
    tomcat/jk/trunk/native/common/jk_ajp_common.c
    tomcat/jk/trunk/native/common/jk_ajp_common.h

Modified: tomcat/jk/trunk/native/common/jk_ajp_common.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_ajp_common.c?rev=893085&r1=893084&r2=893085&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_ajp_common.c (original)
+++ tomcat/jk/trunk/native/common/jk_ajp_common.c Tue Dec 22 06:37:47 2009
@@ -1075,6 +1075,7 @@
             if (aw->ep_cache[i] && IS_VALID_SOCKET(aw->ep_cache[i]->sd)) {
                 int sd = aw->ep_cache[i]->sd;
                 aw->ep_cache[i]->sd = JK_INVALID_SOCKET;
+                aw->ep_cache[i]->addr_sequence = aw->addr_sequence;                
                 jk_shutdown_socket(sd, l);
             }
         }
@@ -2638,6 +2639,7 @@
         p->ep_cache[i]->endpoint.service = ajp_service;
         p->ep_cache[i]->endpoint.done    = ajp_done;
         p->ep_cache[i]->last_op = JK_AJP13_END_RESPONSE;
+        p->ep_cache[i]->addr_sequence = 0;
     }
 
     JK_TRACE_EXIT(l);
@@ -2942,6 +2944,10 @@
         /* set last_access only if needed */
         if (w->cache_timeout > 0)
             p->last_access = time(NULL);
+        if (w->s->addr_sequence != p->addr_sequence) {
+            p->reuse = JK_FALSE;
+            p->addr_sequence = w->s->addr_sequence;
+        }
         ajp_reset_endpoint(p, l);
         *e = NULL;
         JK_ENTER_CS(&w->cs, rc);
@@ -3202,3 +3208,4 @@
     JK_TRACE_EXIT(l);
     return JK_FALSE;
 }
+

Modified: tomcat/jk/trunk/native/common/jk_ajp_common.h
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_ajp_common.h?rev=893085&r1=893084&r2=893085&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_ajp_common.h (original)
+++ tomcat/jk/trunk/native/common/jk_ajp_common.h Tue Dec 22 06:37:47 2009
@@ -375,6 +375,7 @@
     int last_errno;
     /* Last operation performed via this endpoint */
     int last_op;
+    int addr_sequence;  /* Whether the address is resolved */
 };
 
 /*
@@ -440,3 +441,4 @@
 }
 #endif                          /* __cplusplus */
 #endif                          /* JK_AJP_COMMON_H */
+



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