]> granicus.if.org Git - apache/commitdiff
mod_reqtimeout: avoid unnecessary calls to apr_socket_timeout_set().
authorYann Ylavic <ylavic@apache.org>
Thu, 20 Nov 2014 15:39:32 +0000 (15:39 +0000)
committerYann Ylavic <ylavic@apache.org>
Thu, 20 Nov 2014 15:39:32 +0000 (15:39 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1640758 13f79535-47bb-0310-9956-ffa450edef68

modules/filters/mod_reqtimeout.c

index 52b4c42ab80f1aea53c611b04782290566aab5c3..6538127e04405b9049bd66d54cf0b3a0d3850272 100644 (file)
@@ -164,7 +164,6 @@ static apr_status_t brigade_append(apr_bucket_brigade *bbOut, apr_bucket_brigade
 }
 
 
-#define MIN(x,y) ((x) < (y) ? (x) : (y))
 static apr_status_t reqtimeout_filter(ap_filter_t *f,
                                       apr_bucket_brigade *bb,
                                       ap_input_mode_t mode,
@@ -228,8 +227,10 @@ static apr_status_t reqtimeout_filter(ap_filter_t *f,
     rv = apr_socket_timeout_get(ccfg->socket, &saved_sock_timeout);
     AP_DEBUG_ASSERT(rv == APR_SUCCESS);
 
-    rv = apr_socket_timeout_set(ccfg->socket, MIN(time_left, saved_sock_timeout));
-    AP_DEBUG_ASSERT(rv == APR_SUCCESS);
+    if (time_left < saved_sock_timeout) {
+        rv = apr_socket_timeout_set(ccfg->socket, time_left);
+        AP_DEBUG_ASSERT(rv == APR_SUCCESS);
+    }
 
     if (mode == AP_MODE_GETLINE) {
         /*
@@ -298,9 +299,10 @@ static apr_status_t reqtimeout_filter(ap_filter_t *f,
             if (rv != APR_SUCCESS)
                 break;
 
-            rv = apr_socket_timeout_set(ccfg->socket,
-                                   MIN(time_left, saved_sock_timeout));
-            AP_DEBUG_ASSERT(rv == APR_SUCCESS);
+            if (time_left < saved_sock_timeout) {
+                rv = apr_socket_timeout_set(ccfg->socket, time_left);
+                AP_DEBUG_ASSERT(rv == APR_SUCCESS);
+            }
 
         } while (1);
 
@@ -316,7 +318,9 @@ static apr_status_t reqtimeout_filter(ap_filter_t *f,
         }
     }
 
-    apr_socket_timeout_set(ccfg->socket, saved_sock_timeout);
+    if (saved_sock_timeout != time_left) {
+        apr_socket_timeout_set(ccfg->socket, saved_sock_timeout);
+    }
 
 out:
     if (APR_STATUS_IS_TIMEUP(rv)) {