diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-06-04 22:49:08 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-06-04 22:49:08 +0200 |
commit | 3364de01f3f5d50b93d35c438217cf977ab1304e (patch) | |
tree | 941dd7c50fda51c29934360c244c286e4a040c99 | |
parent | d3a7b7c10b0ef7a3d8c8ea7f1aef2468702dd8f4 (diff) | |
download | mad-3364de01f3f5d50b93d35c438217cf977ab1304e.tar mad-3364de01f3f5d50b93d35c438217cf977ab1304e.zip |
Fehlerbehandlung hinzugef?gt
-rw-r--r-- | src/Common/RequestManager.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Common/RequestManager.cpp b/src/Common/RequestManager.cpp index 3817ff5..368cfb5 100644 --- a/src/Common/RequestManager.cpp +++ b/src/Common/RequestManager.cpp @@ -136,7 +136,6 @@ void RequestManager::receiveHandler(Connection *connection, boost::shared_ptr<co connection->sendPacket(ret, requestId); } -// XXX Error handling! bool RequestManager::sendRequest(Connection *connection, boost::shared_ptr<Request> request) { boost::unique_lock<boost::shared_mutex> lock(mutex); @@ -146,7 +145,11 @@ bool RequestManager::sendRequest(Connection *connection, boost::shared_ptr<Reque } uint16_t requestId = _getUnusedRequestId(connection); - requestMap.addRequest(connection, requestId, request); + + if(request->isFinished || !requestMap.addRequest(connection, requestId, request)) { + Logger::log(Logger::CRITICAL, "Trying resend a request."); + return false; + } request->connectSignalFinished(boost::bind(&RequestManager::handleRequestFinished, this, connection, requestId)); lock.unlock(); |