summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInstructor, Computer Systems Technology <jim_parry@bcit.ca>2016-10-19 00:28:05 +0200
committerAndrey Andreev <narf@devilix.net>2016-10-20 10:52:16 +0200
commita09ffbc3bc91acd60735c6f1289b97125dae5ed6 (patch)
treeceab0948f306fb9d686e747260e710c69b7e6ba6
parenta9e57732f000e4c90e4cdfbe9e747f6dc416d28c (diff)
Merge pull request #4855 from jim-parry/fix/xmlrpc-timeout
Fix xmlrpc timeout, #4843
-rw-r--r--system/libraries/Xmlrpc.php5
-rw-r--r--user_guide_src/source/libraries/xmlrpc.rst4
2 files changed, 6 insertions, 3 deletions
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 181a104d0..4be926f0e 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -734,6 +734,8 @@ class XML_RPC_Client extends CI_Xmlrpc
.'User-Agent: '.$this->xmlrpcName.$r
.'Content-Length: '.strlen($msg->payload).$r.$r
.$msg->payload;
+
+ stream_set_timeout($fp,$this->timeout); // set timeout for subsequent operations
for ($written = $timestamp = 0, $length = strlen($op); $written < $length; $written += $result)
{
@@ -753,9 +755,6 @@ class XML_RPC_Client extends CI_Xmlrpc
$result = FALSE;
break;
}
-
- usleep(250000);
- continue;
}
else
{
diff --git a/user_guide_src/source/libraries/xmlrpc.rst b/user_guide_src/source/libraries/xmlrpc.rst
index 4d7ed66d5..04be8d52d 100644
--- a/user_guide_src/source/libraries/xmlrpc.rst
+++ b/user_guide_src/source/libraries/xmlrpc.rst
@@ -490,6 +490,10 @@ Class Reference
$this->xmlrpc->timeout(6);
+ This timeout period will be used both for an initial connection to
+ the remote server, as well as for getting a response from it.
+ Make sure you set the timeout before calling `send_request`.
+
.. php:method:: method($function)
:param string $function: Method name