Fix sockfd leakage in SensorService. Remove sockfd from Looper
when the connection is removed from mActiveConnections. Bug: 17472228 Change-Id: Iaabe0968bd2104ef961ff5e8659bf91712e2e1db
This commit is contained in:
parent
12c4bdad7b
commit
5105960d49
@ -653,6 +653,7 @@ void SensorService::cleanupConnection(SensorEventConnection* c)
|
|||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mLooper->removeFd(c->getSensorChannel()->getSendFd());
|
||||||
mActiveConnections.remove(connection);
|
mActiveConnections.remove(connection);
|
||||||
BatteryService::cleanup(c->getUid());
|
BatteryService::cleanup(c->getUid());
|
||||||
if (c->needsWakeLock()) {
|
if (c->needsWakeLock()) {
|
||||||
@ -799,6 +800,7 @@ status_t SensorService::cleanupWithoutDisableLocked(
|
|||||||
BatteryService::disableSensor(connection->getUid(), handle);
|
BatteryService::disableSensor(connection->getUid(), handle);
|
||||||
}
|
}
|
||||||
if (connection->hasAnySensor() == false) {
|
if (connection->hasAnySensor() == false) {
|
||||||
|
mLooper->removeFd(connection->getSensorChannel()->getSendFd());
|
||||||
mActiveConnections.remove(connection);
|
mActiveConnections.remove(connection);
|
||||||
}
|
}
|
||||||
// see if this sensor becomes inactive
|
// see if this sensor becomes inactive
|
||||||
|
Loading…
Reference in New Issue
Block a user