diff options
author | Henri Herscher <henri@oreka.org> | 2005-12-05 16:31:42 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2005-12-05 16:31:42 +0000 |
commit | 0e59af0746d23fcd2b30e217e57c028f8108944c (patch) | |
tree | f9833452902bb98473f5aca823c5e090fbb68ec8 | |
parent | 47c4702591be9938a1ea0bb81575db628e9acfbd (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.cpp | 31 | ||||
-rw-r--r-- | orkbasecxx/OrkClient.cpp | 2 |
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; |