diff --git a/httprl.module b/httprl.module
index d55b543..92b8999 100644
--- a/httprl.module
+++ b/httprl.module
@@ -462,6 +462,7 @@ function httprl_send_request($fp = NULL, $url = '', $request = '', $options = ''
 
   // Run the loop as long as we have a stream to read/write to.
   $empty_runs = 0;
+  $stream_select_timeout = 1;
   while (!empty($streams)) {
 
     // Check for timeouts.
@@ -538,7 +539,8 @@ function httprl_send_request($fp = NULL, $url = '', $request = '', $options = ''
     $except = array();
 
     // Do some voodoo and open all streams at once.
-    $n = stream_select($read, $write, $except, 1);
+    $n = stream_select($read, $write, $except, $stream_select_timeout);
+    $stream_select_timeout = 0;
 
     // We have some streams to read/write to.
     if (!empty($n)) {
