From 477abd91e5f174a548e30a5f38beb7a8b14ff437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Date: Tue, 8 Nov 2011 21:00:08 -0800 Subject: sensors: Retry poll on EINTR Change-Id: I29dec0d901ce56b385d03e24d354b1f3d2b13776 --- libsensors/sensors.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libsensors') diff --git a/libsensors/sensors.cpp b/libsensors/sensors.cpp index 450dbd5..57b1aa8 100644 --- a/libsensors/sensors.cpp +++ b/libsensors/sensors.cpp @@ -302,7 +302,9 @@ int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count) // anything to return int i; - n = poll(mPollFds, numFds, nbEvents ? 0 : polltime); + do { + n = poll(mPollFds, numFds, nbEvents ? 0 : polltime); + } while (n < 0 && errno == EINTR); if (n<0) { LOGE("poll() failed (%s)", strerror(errno)); return -errno; -- cgit v1.1