Loading services/camera/libcameraservice/CameraService.cpp +11 −3 Original line number Diff line number Diff line Loading @@ -937,6 +937,16 @@ void CameraService::finishConnectLocked(const sp<BasicClient>& client, LOG_ALWAYS_FATAL("%s: Invalid state for CameraService, clients not evicted properly", __FUNCTION__); } // And register a death notification for the client callback. Do // this last to avoid Binder policy where a nested Binder // transaction might be pre-empted to service the client death // notification if the client process dies before linkToDeath is // invoked. sp<IBinder> remoteCallback = client->getRemote(); if (remoteCallback != nullptr) { remoteCallback->linkToDeath(this); } } status_t CameraService::handleEvictionsLocked(const String8& cameraId, int clientPid, Loading Loading @@ -1876,11 +1886,9 @@ CameraService::BasicClient::~BasicClient() { void CameraService::BasicClient::disconnect() { if (mDisconnected) { ALOGE("%s: Disconnect called on already disconnected client for device %d", __FUNCTION__, mCameraId); return; } mDisconnected = true;; mDisconnected = true; mCameraService->removeByClient(this); mCameraService->logDisconnected(String8::format("%d", mCameraId), mClientPid, Loading services/camera/libcameraservice/CameraService.h +0 −5 Original line number Diff line number Diff line Loading @@ -859,11 +859,6 @@ status_t CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String return ret; } sp<IBinder> remoteCallback = client->getRemote(); if (remoteCallback != nullptr) { remoteCallback->linkToDeath(this); } // Update shim paremeters for legacy clients if (effectiveApiLevel == API_1) { // Assume we have always received a Client subclass for API1 Loading Loading
services/camera/libcameraservice/CameraService.cpp +11 −3 Original line number Diff line number Diff line Loading @@ -937,6 +937,16 @@ void CameraService::finishConnectLocked(const sp<BasicClient>& client, LOG_ALWAYS_FATAL("%s: Invalid state for CameraService, clients not evicted properly", __FUNCTION__); } // And register a death notification for the client callback. Do // this last to avoid Binder policy where a nested Binder // transaction might be pre-empted to service the client death // notification if the client process dies before linkToDeath is // invoked. sp<IBinder> remoteCallback = client->getRemote(); if (remoteCallback != nullptr) { remoteCallback->linkToDeath(this); } } status_t CameraService::handleEvictionsLocked(const String8& cameraId, int clientPid, Loading Loading @@ -1876,11 +1886,9 @@ CameraService::BasicClient::~BasicClient() { void CameraService::BasicClient::disconnect() { if (mDisconnected) { ALOGE("%s: Disconnect called on already disconnected client for device %d", __FUNCTION__, mCameraId); return; } mDisconnected = true;; mDisconnected = true; mCameraService->removeByClient(this); mCameraService->logDisconnected(String8::format("%d", mCameraId), mClientPid, Loading
services/camera/libcameraservice/CameraService.h +0 −5 Original line number Diff line number Diff line Loading @@ -859,11 +859,6 @@ status_t CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String return ret; } sp<IBinder> remoteCallback = client->getRemote(); if (remoteCallback != nullptr) { remoteCallback->linkToDeath(this); } // Update shim paremeters for legacy clients if (effectiveApiLevel == API_1) { // Assume we have always received a Client subclass for API1 Loading