--- a/modules/proxy/mod_proxy_fcgi.c	2013/09/18 11:17:28	1524367
+++ b/modules/proxy/mod_proxy_fcgi.c	2013/09/18 11:18:02	1524368
@@ -429,15 +429,13 @@
     ob = apr_brigade_create(r->pool, c->bucket_alloc);
 
     while (! done) {
-        apr_interval_time_t timeout = conn->worker->s->timeout;
+        apr_interval_time_t timeout;
         apr_size_t len;
         int n;
 
         /* We need SOME kind of timeout here, or virtually anything will
          * cause timeout errors. */
-        if (! conn->worker->s->timeout_set) {
-            timeout = apr_time_from_sec(30);
-        }
+        apr_socket_timeout_get(conn->sock, &timeout);
 
         rv = apr_poll(&pfd, 1, &n, timeout);
         if (rv != APR_SUCCESS) {
