lmkd: fix handling of EPOLLHUP for pidfd am: 667fdbfe92
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3268491 Change-Id: I5269030e5878ed1ed1c3926dc9e73411a5a1c7a3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
b018e55b7b
6
lmkd.cpp
6
lmkd.cpp
|
|
@ -3911,13 +3911,17 @@ static void mainloop(void) {
|
||||||
*/
|
*/
|
||||||
for (i = 0, evt = &events[0]; i < nevents; ++i, evt++) {
|
for (i = 0, evt = &events[0]; i < nevents; ++i, evt++) {
|
||||||
if ((evt->events & EPOLLHUP) && evt->data.ptr) {
|
if ((evt->events & EPOLLHUP) && evt->data.ptr) {
|
||||||
ALOGI("lmkd data connection dropped");
|
|
||||||
handler_info = (struct event_handler_info*)evt->data.ptr;
|
handler_info = (struct event_handler_info*)evt->data.ptr;
|
||||||
|
if (handler_info->handler == kill_done_handler) {
|
||||||
|
call_handler(handler_info, &poll_params, evt->events);
|
||||||
|
} else {
|
||||||
|
ALOGI("lmkd data connection dropped");
|
||||||
watchdog.start();
|
watchdog.start();
|
||||||
ctrl_data_close(handler_info->data);
|
ctrl_data_close(handler_info->data);
|
||||||
watchdog.stop();
|
watchdog.stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Second pass to handle all other events */
|
/* Second pass to handle all other events */
|
||||||
for (i = 0, evt = &events[0]; i < nevents; ++i, evt++) {
|
for (i = 0, evt = &events[0]; i < nevents; ++i, evt++) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue