summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2005-12-05 16:31:42 +0000
committerHenri Herscher <henri@oreka.org>2005-12-05 16:31:42 +0000
commit0e59af0746d23fcd2b30e217e57c028f8108944c (patch)
treef9833452902bb98473f5aca823c5e090fbb68ec8
parent47c4702591be9938a1ea0bb81575db628e9acfbd (diff)
tcp streams now properly closed by the http client
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@86 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r--orkaudio/Reporting.cpp31
-rw-r--r--orkbasecxx/OrkClient.cpp2
2 files changed, 25 insertions, 8 deletions
diff --git a/orkaudio/Reporting.cpp b/orkaudio/Reporting.cpp
index 2ffb180..799a3e0 100644
--- a/orkaudio/Reporting.cpp
+++ b/orkaudio/Reporting.cpp
@@ -28,7 +28,11 @@ Reporting* Reporting::GetInstance()
void Reporting::AddAudioTape(AudioTapeRef audioTapeRef)
{
- if (!m_audioTapeQueue.push(audioTapeRef))
+ if (m_audioTapeQueue.push(audioTapeRef))
+ {
+ LOG4CXX_DEBUG(LOG.reportingLog, CStdString("added audiotape to queue:") + audioTapeRef->GetIdentifier());
+ }
+ else
{
LOG4CXX_ERROR(LOG.reportingLog, CStdString("Reporting: queue full"));
}
@@ -64,15 +68,26 @@ void Reporting::ThreadHandler(void *args)
OrkHttpSingleLineClient c;
SimpleResponseMsg srm;
- while (!c.Execute((SyncMessage&)(*msgRef.get()), srm, CONFIG.m_trackerHostname, CONFIG.m_trackerTcpPort, CONFIG.m_trackerServicename, CONFIG.m_clientTimeout))
+
+ bool success = false;
+ bool firstError = true;
+
+ while (!success)
{
- ACE_OS::sleep(5);
+ if (c.Execute((SyncMessage&)(*msgRef.get()), srm, CONFIG.m_trackerHostname, CONFIG.m_trackerTcpPort, CONFIG.m_trackerServicename, CONFIG.m_clientTimeout))
+ {
+ success = true;
+ }
+ else
+ {
+ if(firstError)
+ {
+ firstError = false;
+ LOG4CXX_ERROR(LOG.reportingLog, CStdString("Could not contact orktrack"));
+ }
+ ACE_OS::sleep(5);
+ }
}
- //CStdString host("foo");
- //while (!msgRef->InvokeXmlRpc(host, 10000))
- //{
- // ACE_OS::sleep(5);
- //}
}
}
}
diff --git a/orkbasecxx/OrkClient.cpp b/orkbasecxx/OrkClient.cpp
index 900656d..3804365 100644
--- a/orkbasecxx/OrkClient.cpp
+++ b/orkbasecxx/OrkClient.cpp
@@ -97,6 +97,8 @@ bool OrkHttpClient::ExecuteUrl(CStdString& request, CStdString& response, CStdSt
}
}
}
+ peer.close();
+
if(numReceived < 0)
{
return false;