diff --git a/system/sensord/sensors_qcom2.cc b/system/sensord/sensors_qcom2.cc index 9cbc24864d35f9..189da78099d888 100644 --- a/system/sensord/sensors_qcom2.cc +++ b/system/sensord/sensors_qcom2.cc @@ -62,7 +62,7 @@ void interrupt_loop(std::vector> sensors) { // Read all events struct gpioevent_data evdata[16]; - err = read(fd, evdata, sizeof(evdata)); + err = HANDLE_EINTR(read(fd, evdata, sizeof(evdata))); if (err < 0 || err % sizeof(*evdata) != 0) { LOGE("error reading event data %d", err); continue;