summaryrefslogtreecommitdiff
path: root/orkbasecxx
diff options
context:
space:
mode:
Diffstat (limited to 'orkbasecxx')
-rw-r--r--orkbasecxx/OrkClient.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/orkbasecxx/OrkClient.cpp b/orkbasecxx/OrkClient.cpp
index 3804365..8fe5634 100644
--- a/orkbasecxx/OrkClient.cpp
+++ b/orkbasecxx/OrkClient.cpp
@@ -28,7 +28,9 @@ bool OrkHttpClient::ExecuteUrl(CStdString& request, CStdString& response, CStdSt
ACE_SOCK_Connector connector;
ACE_SOCK_Stream peer;
ACE_INET_Addr peer_addr;
+ if(timeout < 1){timeout = 1;}
ACE_Time_Value aceTimeout (timeout);
+ time_t beginRequestTimestamp = time(NULL);
char szTcpPort[10];
sprintf(szTcpPort, "%d", tcpPort);
@@ -72,7 +74,7 @@ bool OrkHttpClient::ExecuteUrl(CStdString& request, CStdString& response, CStdSt
CStdString header;
bool gotHeader = false;
- while ( (numReceived = peer.recv (buf, BUFSIZE, &aceTimeout)) > 0 )
+ while ( ((numReceived = peer.recv (buf, BUFSIZE, &aceTimeout)) > 0) && ((time(NULL) - beginRequestTimestamp) <= timeout) )
{
for(int i=0; i<numReceived; i++)
{