You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by bj...@apache.org on 2010/04/13 13:07:29 UTC
svn commit: r933547 - in /httpd/httpd/trunk/modules:
filters/mod_reqtimeout.c proxy/mod_proxy_fdpass.c
Author: bjh
Date: Tue Apr 13 11:07:29 2010
New Revision: 933547
URL: http://svn.apache.org/viewvc?rev=933547&view=rev
Log:
Fix backward compatibility with APR versions less than 2.0 which don't have
apr_socket_wait().
Modified:
httpd/httpd/trunk/modules/filters/mod_reqtimeout.c
httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c
Modified: httpd/httpd/trunk/modules/filters/mod_reqtimeout.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_reqtimeout.c?rev=933547&r1=933546&r2=933547&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/filters/mod_reqtimeout.c (original)
+++ httpd/httpd/trunk/modules/filters/mod_reqtimeout.c Tue Apr 13 11:07:29 2010
@@ -24,6 +24,10 @@
#include "util_filter.h"
#define APR_WANT_STRFUNC
#include "apr_strings.h"
+#include "apr_version.h"
+#if APR_MAJOR_VERSION < 2
+#include "apr_support.h"
+#endif
module AP_MODULE_DECLARE_DATA reqtimeout_module;
@@ -218,7 +222,11 @@ static apr_status_t reqtimeout_filter(ap
}
/* ... and wait for more */
+#if APR_MAJOR_VERSION < 2
+ rv = apr_wait_for_io_or_timeout(NULL, ccfg->socket, 1);
+#else
rv = apr_socket_wait(ccfg->socket, APR_WAIT_READ);
+#endif
if (rv != APR_SUCCESS)
break;
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c?rev=933547&r1=933546&r2=933547&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c Tue Apr 13 11:07:29 2010
@@ -24,6 +24,12 @@
#error This module only works on unix platforms with the correct OS support
#endif
+#include "apr_version.h"
+#if APR_MAJOR_VERSION < 2
+/* for apr_wait_for_io_or_timeout */
+#include "apr_support.h"
+#endif
+
#include "mod_proxy_fdpass.h"
module AP_MODULE_DECLARE_DATA proxy_fdpass_module;
@@ -73,7 +79,12 @@ static apr_status_t socket_connect_un(ap
if ((rv == -1) && (errno == EINPROGRESS || errno == EALREADY)
&& (t > 0)) {
+#if APR_MAJOR_VERSION < 2
+ rv = apr_wait_for_io_or_timeout(NULL, sock, 0);
+#else
rv = apr_socket_wait(sock, APR_WAIT_WRITE);
+#endif
+
if (rv != APR_SUCCESS) {
return rv;
}