sensord: Handle EINTR for GPIO event reading (#33715)

handle eintr
This commit is contained in:
Dean Lee
2024-10-10 04:42:53 +08:00
committed by GitHub
parent 682857f0cd
commit 48abdf825b
+1 -1
View File
@@ -62,7 +62,7 @@ void interrupt_loop(std::vector<std::tuple<Sensor *, std::string>> 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;