Win32: Remove timeout_ms member from apr_socket_t.

* include/arch/win32/apr_arch_networkio.h
  (apr_socket_t): Remove timeout_ms.

* network_io/win32/sendrecv.c
  (apr_socket_sendfile): Use apr_wait_for_single_object() to wait for
   sock->timeout.

* network_io/win32/sockopt.c
  (apr_socket_timeout_set): Use local variable instead of sock->timeout_ms.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1920120 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/include/arch/win32/apr_arch_networkio.h b/include/arch/win32/apr_arch_networkio.h
index a9199c4..4f69fd1 100644
--- a/include/arch/win32/apr_arch_networkio.h
+++ b/include/arch/win32/apr_arch_networkio.h
@@ -35,7 +35,6 @@
     int                 protocol;
     apr_sockaddr_t     *local_addr;
     apr_sockaddr_t     *remote_addr;
-    int                 timeout_ms; /* MUST MATCH if timeout > 0 */
     apr_interval_time_t timeout;
     apr_int32_t         disconnected;
     int                 local_port_unknown;
diff --git a/network_io/win32/sendrecv.c b/network_io/win32/sendrecv.c
index d982017..f55912b 100644
--- a/network_io/win32/sendrecv.c
+++ b/network_io/win32/sendrecv.c
@@ -370,9 +370,8 @@
             if ((status == APR_FROM_OS_ERROR(ERROR_IO_PENDING)) ||
                 (status == APR_FROM_OS_ERROR(WSA_IO_PENDING)))
             {
-                rv = WaitForSingleObject(sock->overlapped->hEvent,
-                                         (DWORD)(sock->timeout >= 0
-                                                 ? sock->timeout_ms : INFINITE));
+                rv = apr_wait_for_single_object(sock->overlapped->hEvent, sock->timeout);
+
                 if (rv == WAIT_OBJECT_0) {
                     status = APR_SUCCESS;
                     if (!WSAGetOverlappedResult(sock->socketdes,
diff --git a/network_io/win32/sockopt.c b/network_io/win32/sockopt.c
index 780b5bd..b0d9a73 100644
--- a/network_io/win32/sockopt.c
+++ b/network_io/win32/sockopt.c
@@ -72,13 +72,13 @@
         if (sock->timeout != t)
         {
             /* Win32 timeouts are in msec, represented as int */
-            sock->timeout_ms = (int)apr_time_as_msec(t);
+            int timeout_ms = (int)apr_time_as_msec(t);
             setsockopt(sock->socketdes, SOL_SOCKET, SO_RCVTIMEO,
-                       (char *) &sock->timeout_ms,
-                       sizeof(sock->timeout_ms));
+                       (char *) &timeout_ms,
+                       sizeof(timeout_ms));
             setsockopt(sock->socketdes, SOL_SOCKET, SO_SNDTIMEO,
-                       (char *) &sock->timeout_ms,
-                       sizeof(sock->timeout_ms));
+                       (char *) &timeout_ms,
+                       sizeof(timeout_ms));
         }
     }
     else if (t < 0) {