https://bz.apache.org/bugzilla/show_bug.cgi?id=58504
Bug ID: 58504
Summary: Maintenance process skipped occasionally
Product: Tomcat Connectors
Version: 1.2.41
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mod_jk
Assignee: [email protected]
Reporter: [email protected]
Created attachment 33186
--> https://bz.apache.org/bugzilla/attachment.cgi?id=33186&action=edit
patch against trunk
When the following environment set, maintenance process skipped occasionally.
This behavior is 1.2.41 only.
* worker.maintain=30
* JkWatchdogInterval 30
I analyze of follows.
In case of JK_TRUE, maintenance is performed in maintain_workers().
if "jk_shmem.hdr-> h.data.maintain_time = trigger", JK_FALSE is returned.
But it should be returned JK_TRUE.
---jk_shm.c
872 int jk_shm_check_maintain(time_t trigger)
:
881 if (jk_shmem.hdr->h.data.maintain_time < trigger) {
882 jk_shmem.hdr->h.data.maintain_time = time(NULL);
883 rv = JK_TRUE;
884 }
:
886 return rv;
---
I made patch against trunk.
======================================
--- jk_shm.c (revision 1702073)
+++ jk_shm.c (working copy)
@@ -878,7 +878,7 @@
JK_ATOMIC_DECREMENT(&(jk_shmem.hdr->h.data.maintain_checking));
return rv;
}
- if (jk_shmem.hdr->h.data.maintain_time < trigger) {
+ if (jk_shmem.hdr->h.data.maintain_time <= trigger) {
jk_shmem.hdr->h.data.maintain_time = time(NULL);
rv = JK_TRUE;
}
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]