Codec2: Detect and release component if the client process terminates
Attach death-notifier to listen to the client process termination from the HAL process (specifically, register death-recipient with the remote ComponentListener object). Invoke release() on component to clean-up the resources gracefully on client's death. This avoids race conditions that may result from the listener's context holding the last-strong-reference and trying to destruct the component from within one of it's own calling contexts. ( Eg: Component destructor invoked from onWorkDone(..) ) Test: simulate delay in /hidl/1.1/utils/Component.cpp::onWorkDone_nb() play a video and 'adb shell killall com.google.android.apps.photos' Component is released and destroyed b/175311561 CRs-Fixed: 2787177 Change-Id: I4411a5d6dd82b6e4e12f142610f6fad13aa11994
Loading
Please register or sign in to comment