You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mi...@apache.org on 2020/02/22 00:21:52 UTC
svn commit: r1874350 - in /httpd/httpd/branches/2.4.x: ./ CHANGES STATUS
server/mpm/event/event.c
Author: minfrin
Date: Sat Feb 22 00:21:52 2020
New Revision: 1874350
URL: http://svn.apache.org/viewvc?rev=1874350&view=rev
Log:
mpm_event: avoid possible KeepAlveTimeout off by -100 ms.
trunk patch: http://svn.apache.org/r1874277
2.4.x patch: svn merge -c 1874277 ^/httpd/httpd/trunk .
+1: ylavic, covener, minfrin
Modified:
httpd/httpd/branches/2.4.x/ (props changed)
httpd/httpd/branches/2.4.x/CHANGES
httpd/httpd/branches/2.4.x/STATUS
httpd/httpd/branches/2.4.x/server/mpm/event/event.c
Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
Merged /httpd/httpd/trunk:r1874277
Modified: httpd/httpd/branches/2.4.x/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?rev=1874350&r1=1874349&r2=1874350&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/CHANGES [utf-8] Sat Feb 22 00:21:52 2020
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.4.42
+ *) mpm_event: avoid possible KeepAlveTimeout off by -100 ms.
+ [Eric Covener, Yann Ylavic]
+
*) Add a config layout for OpenWRT. [Graham Leggett]
*) Add support for cross compiling to apxs. If apxs is being executed from somewhere
Modified: httpd/httpd/branches/2.4.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1874350&r1=1874349&r2=1874350&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/STATUS (original)
+++ httpd/httpd/branches/2.4.x/STATUS Sat Feb 22 00:21:52 2020
@@ -132,11 +132,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- *) mpm_event: avoid possible KeepAlveTimeout off by -100 ms.
- trunk patch: http://svn.apache.org/r1874277
- 2.4.x patch: svn merge -c 1874277 ^/httpd/httpd/trunk .
- +1: ylavic, covener, minfrin
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
Modified: httpd/httpd/branches/2.4.x/server/mpm/event/event.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/mpm/event/event.c?rev=1874350&r1=1874349&r2=1874350&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/server/mpm/event/event.c (original)
+++ httpd/httpd/branches/2.4.x/server/mpm/event/event.c Sat Feb 22 00:21:52 2020
@@ -1523,7 +1523,8 @@ static void process_timeout_queue(struct
*/
apr_time_t q_expiry = cs->queue_timestamp + qp->timeout;
apr_time_t next_expiry = queues_next_expiry;
- if (!next_expiry || next_expiry > q_expiry) {
+ if (!next_expiry
+ || next_expiry > q_expiry + TIMEOUT_FUDGE_FACTOR) {
queues_next_expiry = q_expiry;
}
break;
@@ -1884,8 +1885,6 @@ static void * APR_THREAD_FUNC listener_t
* with and without wake-ability.
*/
if (timeout_time && timeout_time < (now = apr_time_now())) {
- timeout_time = now + TIMEOUT_FUDGE_FACTOR;
-
/* handle timed out sockets */
apr_thread_mutex_lock(timeout_mutex);
@@ -1897,16 +1896,16 @@ static void * APR_THREAD_FUNC listener_t
process_keepalive_queue(0); /* kill'em all \m/ */
}
else {
- process_keepalive_queue(timeout_time);
+ process_keepalive_queue(now);
}
/* Step 2: write completion timeouts */
- process_timeout_queue(write_completion_q, timeout_time,
+ process_timeout_queue(write_completion_q, now,
start_lingering_close_nonblocking);
/* Step 3: (normal) lingering close completion timeouts */
- process_timeout_queue(linger_q, timeout_time,
+ process_timeout_queue(linger_q, now,
stop_lingering_close);
/* Step 4: (short) lingering close completion timeouts */
- process_timeout_queue(short_linger_q, timeout_time,
+ process_timeout_queue(short_linger_q, now,
stop_lingering_close);
apr_thread_mutex_unlock(timeout_mutex);