lmkd: fix handling of EPOLLHUP for pidfd am: 667fdbfe92 am: b018e55b7b

Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/3268491

Change-Id: I613ee58987d09da8aa418c124aaf32e19824c868
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Suren Baghdasaryan 2024-09-26 09:26:16 +00:00 committed by Automerger Merge Worker
commit 9d0787ef90
1 changed files with 8 additions and 4 deletions

View File

@ -3911,13 +3911,17 @@ static void mainloop(void) {
*/
for (i = 0, evt = &events[0]; i < nevents; ++i, evt++) {
if ((evt->events & EPOLLHUP) && evt->data.ptr) {
ALOGI("lmkd data connection dropped");
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();
ctrl_data_close(handler_info->data);
watchdog.stop();
}
}
}
/* Second pass to handle all other events */
for (i = 0, evt = &events[0]; i < nevents; ++i, evt++) {