OSDN Git Service

Prevent runtime restart for crashed clients to framework sensorservice.
authorAndreas Huber <andih@google.com>
Fri, 7 Apr 2017 19:52:17 +0000 (12:52 -0700)
committerYifan Hong <elsk@google.com>
Tue, 11 Apr 2017 04:49:11 +0000 (04:49 +0000)
commit957aa852bb9bd7a70cc4f7f553d4945f3f8da23c
tree3a85742b54596ff0f8e929b357c21d1f61ac9b03
parent8385d60c694cbdbe16053cbb9403106a2ccfa15b
Prevent runtime restart for crashed clients to framework sensorservice.

This only happens when the client dies, in which case the event queue
reference will be dropped on the client side, so the call to handleEvent
won't even be fired, except for a race condition.

The race condition is, if handleEvent is already fired,
then client dies and the event queue is going to be destroyed and the
fd is going to be removed, but before that the call onEvent fails.

Test: clients of SensorManager that uses event queue no longer
      crashes.
Bug: 35219747

Change-Id: Ibdf062528a219fae65ee6263ed742229ec3cd0d6
services/sensorservice/hidl/EventQueue.cpp