From 5307d17fe33fc26eeeacd6339a9fbfe96cf56873 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Tue, 18 Sep 2012 17:02:43 -0700 Subject: track UID with connections Change-Id: Id4865f3cd27a95acdbbfdff1f2bb4123f312a13b --- services/sensorservice/SensorService.cpp | 7 ++++--- services/sensorservice/SensorService.h | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp index c9b0f7c..cc2f745 100644 --- a/services/sensorservice/SensorService.cpp +++ b/services/sensorservice/SensorService.cpp @@ -383,7 +383,8 @@ Vector SensorService::getSensorList() sp SensorService::createSensorEventConnection() { - sp result(new SensorEventConnection(this)); + uid_t uid = IPCThreadState::self()->getCallingUid(); + sp result(new SensorEventConnection(this, uid)); return result; } @@ -553,8 +554,8 @@ bool SensorService::SensorRecord::removeConnection( // --------------------------------------------------------------------------- SensorService::SensorEventConnection::SensorEventConnection( - const sp& service) - : mService(service), mChannel(new BitTube()) + const sp& service, uid_t uid) + : mService(service), mChannel(new BitTube()), mUid(uid) { } diff --git a/services/sensorservice/SensorService.h b/services/sensorservice/SensorService.h index 54a76e8..18591bf 100644 --- a/services/sensorservice/SensorService.h +++ b/services/sensorservice/SensorService.h @@ -77,13 +77,14 @@ class SensorService : sp const mService; sp const mChannel; + uid_t mUid; mutable Mutex mConnectionLock; // protected by SensorService::mLock SortedVector mSensorInfo; public: - SensorEventConnection(const sp& service); + SensorEventConnection(const sp& service, uid_t uid); status_t sendEvents(sensors_event_t const* buffer, size_t count, sensors_event_t* scratch = NULL); @@ -91,6 +92,8 @@ class SensorService : bool hasAnySensor() const; bool addSensor(int32_t handle); bool removeSensor(int32_t handle); + + uid_t getUid() const { return mUid; } }; class SensorRecord { -- cgit v1.1