diff options
author | Aravind Akella <aakella@google.com> | 2014-09-23 16:42:49 -0700 |
---|---|---|
committer | Aravind Akella <aakella@google.com> | 2014-09-23 23:46:22 +0000 |
commit | 5105960d49bfa86efeeea8f87c87aa96b5771c37 (patch) | |
tree | 7e13d628aa698194f87538c931b97c62b5612e5f | |
parent | 12c4bdad7b2372ab64dcd2abbdbe47e709fb8b90 (diff) | |
download | frameworks_native-5105960d49bfa86efeeea8f87c87aa96b5771c37.zip frameworks_native-5105960d49bfa86efeeea8f87c87aa96b5771c37.tar.gz frameworks_native-5105960d49bfa86efeeea8f87c87aa96b5771c37.tar.bz2 |
Fix sockfd leakage in SensorService. Remove sockfd from Looper
when the connection is removed from mActiveConnections.
Bug: 17472228
Change-Id: Iaabe0968bd2104ef961ff5e8659bf91712e2e1db
-rw-r--r-- | services/sensorservice/SensorService.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp index f953a96..77ada40 100644 --- a/services/sensorservice/SensorService.cpp +++ b/services/sensorservice/SensorService.cpp @@ -653,6 +653,7 @@ void SensorService::cleanupConnection(SensorEventConnection* c) i++; } } + mLooper->removeFd(c->getSensorChannel()->getSendFd()); mActiveConnections.remove(connection); BatteryService::cleanup(c->getUid()); if (c->needsWakeLock()) { @@ -799,6 +800,7 @@ status_t SensorService::cleanupWithoutDisableLocked( BatteryService::disableSensor(connection->getUid(), handle); } if (connection->hasAnySensor() == false) { + mLooper->removeFd(connection->getSensorChannel()->getSendFd()); mActiveConnections.remove(connection); } // see if this sensor becomes inactive |