| Index: runtime/bin/eventhandler_android.cc
|
| diff --git a/runtime/bin/eventhandler_android.cc b/runtime/bin/eventhandler_android.cc
|
| index 604126c8bb5fd6da2f2265dc2b8dee8efe93c3fd..6a339b35fb0991f4a51774c93b65f6a11b1ec9b6 100644
|
| --- a/runtime/bin/eventhandler_android.cc
|
| +++ b/runtime/bin/eventhandler_android.cc
|
| @@ -341,7 +341,10 @@ void EventHandlerImplementation::HandleEvents(struct epoll_event* events,
|
| } else {
|
| SocketData* sd = reinterpret_cast<SocketData*>(events[i].data.ptr);
|
| intptr_t event_mask = GetPollEvents(events[i].events, sd);
|
| - if (event_mask != 0) {
|
| + if (event_mask == 0) {
|
| + // Event not handled, re-add to epoll.
|
| + UpdateEpollInstance(epoll_fd_, sd);
|
| + } else {
|
| Dart_Port port = sd->port();
|
| ASSERT(port != 0);
|
| DartUtils::PostInt32(port, event_mask);
|
|
|