Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 553447b8 authored by Chih-Chung Chang's avatar Chih-Chung Chang
Browse files

Fix deadlock if the last reference of ICameraClient is removed in

ICamera::connect()

Change-Id: I34ab3e4f07435c62168175e9bb159022c8fb99f4
parent ffd104a9
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -92,7 +92,12 @@ void Camera::init()

Camera::~Camera()
{
    disconnect();
    // We don't need to call disconnect() here because if the CameraService
    // thinks we are the owner of the hardware, it will hold a (strong)
    // reference to us, and we can't possibly be here. We also don't want to
    // call disconnect() here if we are in the same process as mediaserver,
    // because we may be invoked by CameraService::Client::connect() and will
    // deadlock if we call any method of ICamera here.
}

int32_t Camera::getNumberOfCameras()