summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceGrid/LocatorI.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/LocatorI.cpp b/cpp/src/IceGrid/LocatorI.cpp
index bf910ba31d1..554a170c22d 100644
--- a/cpp/src/IceGrid/LocatorI.cpp
+++ b/cpp/src/IceGrid/LocatorI.cpp
@@ -588,13 +588,15 @@ LocatorI::activate(const LocatorAdapterInfo& adapter, const RequestPtr& request)
// we just add this one to the queue. If not, we add it to the queue and initiate
// a call on the adapter to get its direct proxy.
//
- PendingRequestsMap::iterator p;
- p = _pendingRequests.insert(make_pair(adapter.id, PendingRequests())).first;
- p->second.insert(request);
- if(p->second.size() != 1)
+ PendingRequestsMap::iterator p = _pendingRequests.find(adapter.id);
+ if(p != _pendingRequests.end())
{
+ p->second.insert(request);
return;
}
+
+ p = _pendingRequests.insert(make_pair(adapter.id, PendingRequests())).first;
+ p->second.insert(request);
}
AMI_Adapter_activatePtr amiCB = new AMI_Adapter_activateI(this, adapter.id);