From: Yann Ylavic Date: Thu, 20 Nov 2014 15:39:32 +0000 (+0000) Subject: mod_reqtimeout: avoid unnecessary calls to apr_socket_timeout_set(). X-Git-Tag: 2.5.0-alpha~3695 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a952fd276fce490f774836cc814abf863ea398e3;p=apache mod_reqtimeout: avoid unnecessary calls to apr_socket_timeout_set(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1640758 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/filters/mod_reqtimeout.c b/modules/filters/mod_reqtimeout.c index 52b4c42ab8..6538127e04 100644 --- a/modules/filters/mod_reqtimeout.c +++ b/modules/filters/mod_reqtimeout.c @@ -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)) {