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 2007/01/27 15:14:01 UTC
svn commit: r500534 - in /tomcat/connectors/trunk/jk:
native/common/jk_lb_worker.c native/common/jk_shm.h
native/common/jk_status.c xdocs/miscellaneous/changelog.xml
Author: rjung
Date: Sat Jan 27 06:14:00 2007
New Revision: 500534
URL: http://svn.apache.org/viewvc?view=rev&rev=500534
Log:
Improve data synchronization between different processes
(use sequence number more carefully).
Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
tomcat/connectors/trunk/jk/native/common/jk_shm.h
tomcat/connectors/trunk/jk/native/common/jk_status.c
tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?view=diff&rev=500534&r1=500533&r2=500534
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sat Jan 27 06:14:00 2007
@@ -395,6 +395,8 @@
worker_record_t *w = NULL;
JK_TRACE_ENTER(l);
+ if (p->sequence != p->s->sequence)
+ jk_lb_pull(p, l);
for (i = 0; i < p->num_of_workers; i++) {
w = &p->lb_workers[i];
if (w->s->state == JK_LB_STATE_ERROR) {
Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.h
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_shm.h?view=diff&rev=500534&r1=500533&r2=500534
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_shm.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_shm.h Sat Jan 27 06:14:00 2007
@@ -62,7 +62,7 @@
/* Sequence counter starting at 0 and increasing
* every time we change the config
*/
- unsigned int sequence;
+ volatile unsigned int sequence;
/* Number of currently busy channels */
volatile int busy;
/* Maximum number of busy channels */
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?view=diff&rev=500534&r1=500533&r2=500534
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Sat Jan 27 06:14:00 2007
@@ -1644,6 +1644,11 @@
return;
}
+ jk_shm_lock();
+ if (lb->sequence != lb->s->sequence)
+ jk_lb_pull(lb, l);
+ jk_shm_unlock();
+
jk_putv(s, "<hr/><h3>Edit load balancer settings for ",
name, "</h3>\n", NULL);
Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?view=diff&rev=500534&r1=500533&r2=500534
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Sat Jan 27 06:14:00 2007
@@ -27,6 +27,9 @@
<subsection name="Native">
<changelog>
<fix>
+ JkStatus: Improve data synchronization between different processes. (rjung)
+ </fix>
+ <fix>
<bug>41381</bug>: Fix segfault in feature fail_on_status
(wrong order of log arguments). Patch by Juri Haberland. (rjung)
</fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org