[prev in list] [next in list] [prev in thread] [next in thread]
List: tomcat-dev
Subject: svn commit: r1583399 - in /tomcat/jk/trunk: native/common/jk_ajp_common.c native/common/jk_connect.c
From: rjung () apache ! org
Date: 2014-03-31 19:00:34
Message-ID: 20140331190035.1CE6B2388AA7 () eris ! apache ! org
[Download RAW message or body]
Author: rjung
Date: Mon Mar 31 19:00:34 2014
New Revision: 1583399
URL: http://svn.apache.org/r1583399
Log:
Fix status worker display of worker IP address
after name or port was changed.
Use a function to copy jk_sockaddr_t instead of
memcpy, because ipaddr_ptr member must be corrected.
Modified:
tomcat/jk/trunk/native/common/jk_ajp_common.c
tomcat/jk/trunk/native/common/jk_connect.c
tomcat/jk/trunk/native/common/jk_connect.h
tomcat/jk/trunk/native/common/jk_status.c
tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml
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=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_ajp_common.c (original)
+++ tomcat/jk/trunk/native/common/jk_ajp_common.c Mon Mar 31 19:00:34 2014
@@ -1117,7 +1117,7 @@ void jk_ajp_pull(ajp_worker_t * aw, int
aw->s->connected--;
}
}
- memcpy(&(aw->worker_inet_addr), &inet_addr, sizeof(inet_addr));
+ jk_clone_sockaddr(&(aw->worker_inet_addr), &inet_addr);
JK_LEAVE_CS(&aw->cs);
}
}
Modified: tomcat/jk/trunk/native/common/jk_connect.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_connect.c?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_connect.c (original)
+++ tomcat/jk/trunk/native/common/jk_connect.c Mon Mar 31 19:00:34 2014
@@ -328,6 +328,20 @@ in_addr_t jk_inet_addr(const char * addr
#endif
+/** Clone a jk_sockaddr_t
+ * @param out The source structure
+ * @param in The target structure
+ */
+void jk_clone_sockaddr(jk_sockaddr_t *out, jk_sockaddr_t *in)
+{
+ memcpy(out, in, sizeof(*in));
+ /* The ipaddr_ptr member points to memory inside the struct.
+ * Do not copy the pointer but use the same offset relative
+ * to the struct start
+ */
+ out->ipaddr_ptr = (void *)out + (in->ipaddr_ptr - (void *)in);
+}
+
/** Resolve the host IP
* @param host host or ip address
* @param port port
Modified: tomcat/jk/trunk/native/common/jk_connect.h
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_connect.h?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_connect.h (original)
+++ tomcat/jk/trunk/native/common/jk_connect.h Mon Mar 31 19:00:34 2014
@@ -38,6 +38,8 @@ extern "C"
#define JK_SOCKET_EOF (-2)
+void jk_clone_sockaddr(jk_sockaddr_t *out, jk_sockaddr_t *in);
+
int jk_resolve(const char *host, int port, jk_sockaddr_t *rc, void *pool,
int prefer_ipv6, jk_logger_t *l);
Modified: tomcat/jk/trunk/native/common/jk_status.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_status.c?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_status.c (original)
+++ tomcat/jk/trunk/native/common/jk_status.c Mon Mar 31 19:00:34 2014
@@ -3390,7 +3390,7 @@ static int commit_member(jk_ws_service_t
/* This is not atomic and not thread safe */
aw->port = port;
strncpy(aw->host, host, JK_SHM_STR_SIZ);
- memcpy(&(aw->worker_inet_addr), &inet_addr, sizeof(inet_addr));
+ jk_clone_sockaddr(&(aw->worker_inet_addr), &inet_addr);
*side_effect |= JK_STATUS_NEEDS_PUSH | JK_STATUS_NEEDS_ADDR_PUSH;
}
}
Modified: tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml?rev=1583399&r1=1583398&r2=1583399&view=diff
==============================================================================
--- tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml Mon Mar 31 19:00:34 2014
@@ -40,6 +40,16 @@
new documentation project for JK was started.
</p>
</section>
+<section name="Changes between 1.2.39 and 1.2.40">
+ <br />
+ <subsection name="Native">
+ <changelog>
+ <fix>
+ Fix status worker display of worker IP address after name or port
+ was changed. (rjung)
+ </fix>
+ </changelog>
+ </subsection>
<section name="Changes between 1.2.37 and 1.2.39">
<br />
<subsection name="Native">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic