diff options
Diffstat (limited to 'services/sensorservice/SensorDevice.cpp')
-rw-r--r-- | services/sensorservice/SensorDevice.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp index d82a7e2..7575ebd 100644 --- a/services/sensorservice/SensorDevice.cpp +++ b/services/sensorservice/SensorDevice.cpp @@ -166,7 +166,11 @@ status_t SensorDevice::initCheck() const { ssize_t SensorDevice::poll(sensors_event_t* buffer, size_t count) { if (!mSensorDevice) return NO_INIT; - return mSensorDevice->poll(mSensorDevice, buffer, count); + ssize_t c; + do { + c = mSensorDevice->poll(mSensorDevice, buffer, count); + } while (c == -EINTR); + return c; } status_t SensorDevice::activate(void* ident, int handle, int enabled) |