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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org