adb: properly erase destroyed jdwp_trackers.

std::remove_if moves to-be-removed elements to the end of the vector
and returns an iterator that must be .erased.

Bug: http://b/35772578
Test: mma
Change-Id: Idfe8520e176204ac5ce000c30704873a3ffe6c9c
This commit is contained in:
Josh Gao 2017-03-10 11:19:48 -08:00
parent dda9cbb350
commit 6def9bd67c
1 changed files with 2 additions and 1 deletions

View File

@ -571,7 +571,8 @@ static void jdwp_tracker_close(asocket* s) {
remove_socket(s);
auto pred = [s](const auto& tracker) { return tracker.get() == s; };
std::remove_if(_jdwp_trackers.begin(), _jdwp_trackers.end(), pred);
_jdwp_trackers.erase(std::remove_if(_jdwp_trackers.begin(), _jdwp_trackers.end(), pred),
_jdwp_trackers.end());
}
static void jdwp_tracker_ready(asocket* s) {