event/WinSelect: use unordered_map::find() instead of operator[]
The latter creates a new object, but we know that the key already exists.
This commit is contained in:
parent
9e97acc28d
commit
69b45e693b
@ -53,7 +53,7 @@ WinSelectBackend::Modify(WinSelectBackend::Item &item, SOCKET fd,
|
|||||||
else if (index >= 0 && !HasEvent(events, event_id)) {
|
else if (index >= 0 && !HasEvent(events, event_id)) {
|
||||||
if (size_t(index) != set.Size() - 1) {
|
if (size_t(index) != set.Size() - 1) {
|
||||||
set.MoveToEnd(index);
|
set.MoveToEnd(index);
|
||||||
items[set[index]].index[event_id] = index;
|
items.find(set[index])->second.index[event_id] = index;
|
||||||
}
|
}
|
||||||
set.RemoveLast();
|
set.RemoveLast();
|
||||||
item.index[event_id] = -1;
|
item.index[event_id] = -1;
|
||||||
@ -121,7 +121,10 @@ void
|
|||||||
WinSelectBackend::ApplyReady(const SocketSet &src, unsigned events) noexcept
|
WinSelectBackend::ApplyReady(const SocketSet &src, unsigned events) noexcept
|
||||||
{
|
{
|
||||||
for (const auto i : src) {
|
for (const auto i : src) {
|
||||||
items[i].events |= events;
|
auto it = items.find(i);
|
||||||
|
assert(it != items.end());
|
||||||
|
|
||||||
|
it->second.events |= events;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user