summaryrefslogtreecommitdiff
path: root/cpp/src/Glacier2/RequestQueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Glacier2/RequestQueue.cpp')
-rw-r--r--cpp/src/Glacier2/RequestQueue.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp
index a3ffbd85550..7556aaee266 100644
--- a/cpp/src/Glacier2/RequestQueue.cpp
+++ b/cpp/src/Glacier2/RequestQueue.cpp
@@ -203,16 +203,19 @@ bool
Glacier2::RequestQueue::addRequest(const RequestPtr& request)
{
IceUtil::Mutex::Lock lock(*this);
- for(vector<RequestPtr>::iterator p = _requests.begin(); p != _requests.end(); ++p)
+ if(request->hasOverride())
{
- //
- // If the new request overrides an old one, then abort the old
- // request and replace it with the new request.
- //
- if(request->override(*p))
+ for(vector<RequestPtr>::iterator p = _requests.begin(); p != _requests.end(); ++p)
{
- *p = request;
- return true;
+ //
+ // If the new request overrides an old one, then abort the old
+ // request and replace it with the new request.
+ //
+ if(request->override(*p))
+ {
+ *p = request;
+ return true;
+ }
}
}