libcamera2ndk_vendor: stop looper thread on ~ACameraDevice()

Bug: 135641415

Test: enroll; while(1) auth;

Change-Id: I59c522a0e8827c5990926f0cf7c7960e1cea2e5e
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
gugelfrei
Jayant Chowdhary 5 years ago
parent 3bd9e0e1a1
commit b233eaef6a

@ -44,6 +44,16 @@
using namespace android; using namespace android;
ACameraDevice::~ACameraDevice() {
Mutex::Autolock _l(mDevice->mDeviceLock);
if (mDevice->mCbLooper != nullptr) {
mDevice->mCbLooper->unregisterHandler(mDevice->mHandler->id());
mDevice->mCbLooper->stop();
}
mDevice->mCbLooper.clear();
mDevice->mHandler.clear();
}
namespace android { namespace android {
namespace acam { namespace acam {

@ -135,6 +135,7 @@ class CameraDevice final : public RefBase {
private: private:
friend ACameraCaptureSession; friend ACameraCaptureSession;
friend ACameraDevice;
camera_status_t checkCameraClosedOrErrorLocked() const; camera_status_t checkCameraClosedOrErrorLocked() const;
@ -383,8 +384,7 @@ struct ACameraDevice {
sp<ACameraMetadata> chars) : sp<ACameraMetadata> chars) :
mDevice(new android::acam::CameraDevice(id, cb, std::move(chars), this)) {} mDevice(new android::acam::CameraDevice(id, cb, std::move(chars), this)) {}
~ACameraDevice() {}; ~ACameraDevice();
/******************* /*******************
* NDK public APIs * * NDK public APIs *
*******************/ *******************/

Loading…
Cancel
Save