summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2017-09-28 15:18:30 -0400
committerGitHub <noreply@github.com>2017-09-28 15:18:30 -0400
commitf84fe00658d172c775a2a38ebd8639670402226e (patch)
tree3f2ba41e670256deb8f0e25732484a50fdaa03ff
parentfcd09ae0320f89719a80e7032325f219d4dfa2c3 (diff)
parentf705350a3b160f14bcf99b9883f95471ff213e72 (diff)
downloadsdl_core-f84fe00658d172c775a2a38ebd8639670402226e.tar.gz
Merge pull request #1793 from smartdevicelink/pr/1674
Pr/1674
-rw-r--r--src/components/transport_manager/src/transport_manager_impl.cc28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/components/transport_manager/src/transport_manager_impl.cc b/src/components/transport_manager/src/transport_manager_impl.cc
index 433885a606..831ff0980e 100644
--- a/src/components/transport_manager/src/transport_manager_impl.cc
+++ b/src/components/transport_manager/src/transport_manager_impl.cc
@@ -621,29 +621,23 @@ void TransportManagerImpl::AddConnection(const ConnectionInternal& c) {
connections_.push_back(c);
}
-namespace {
-struct ConnectionFinder {
- const uint32_t id_;
- ConnectionFinder(const uint32_t id) : id_(id) {}
- bool operator()(const transport_manager::TransportManagerImpl::Connection&
- connection) const {
- return id_ == connection.id;
- }
-};
-}
-
void TransportManagerImpl::RemoveConnection(
const uint32_t id, transport_adapter::TransportAdapter* transport_adapter) {
LOG4CXX_AUTO_TRACE(logger_);
LOG4CXX_DEBUG(logger_, "Id: " << id);
sync_primitives::AutoWriteLock lock(connections_lock_);
- const std::vector<ConnectionInternal>::iterator it = std::find_if(
- connections_.begin(), connections_.end(), ConnectionFinder(id));
- if (connections_.end() != it) {
- if (transport_adapter) {
- transport_adapter->RemoveFinalizedConnection(it->device, it->application);
+ std::vector<ConnectionInternal>::iterator it = connections_.begin();
+ while (it != connections_.end()) {
+ if (it->id == id) {
+ if (transport_adapter) {
+ transport_adapter->RemoveFinalizedConnection(it->device,
+ it->application);
+ }
+ connections_.erase(it++);
+ break;
+ } else {
+ ++it;
}
- connections_.erase(it);
}
}