android: CameraHalManager: Create a static object dynamically
Originally CameraHalManager is created in the libcamera start up and destroyed in the libcamera termination. However, CameraHalManager destructor can access other static objects that has been destroyed. Avoid this issue by destroying CameraHalManager when tear_down() is called in ChromeOS or leaking it in other platforms. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
committed by
Laurent Pinchart
parent
a8c9fce109
commit
459b3bc6a9
@@ -37,6 +37,13 @@ CameraHalManager::CameraHalManager()
|
||||
/* CameraManager calls stop() in the destructor. */
|
||||
CameraHalManager::~CameraHalManager() = default;
|
||||
|
||||
/* static */
|
||||
CameraHalManager *CameraHalManager::instance()
|
||||
{
|
||||
static CameraHalManager *cameraHalManager = new CameraHalManager;
|
||||
return cameraHalManager;
|
||||
}
|
||||
|
||||
int CameraHalManager::init()
|
||||
{
|
||||
cameraManager_ = std::make_unique<CameraManager>();
|
||||
|
||||
Reference in New Issue
Block a user