am 20432c23: Merge "Work around spurious epoll notifications." into mnc-dev
* commit '20432c237c082506cf7d45c377b778c94879b5ae':
Work around spurious epoll notifications.
diff --git a/libutils/Looper.cpp b/libutils/Looper.cpp
index e69784d..5b0ff3a 100644
--- a/libutils/Looper.cpp
+++ b/libutils/Looper.cpp
@@ -567,7 +567,12 @@
#endif
scheduleEpollRebuildLocked();
} else {
+ // Some other error occurred. This is really weird because it means
+ // our list of callbacks got out of sync with the epoll set somehow.
+ // We defensively rebuild the epoll set to avoid getting spurious
+ // notifications with nowhere to go.
ALOGE("Error removing epoll events for fd %d, errno=%d", fd, errno);
+ scheduleEpollRebuildLocked();
return -1;
}
}