Merge "Protect against race conditions when removing keys"
This commit is contained in:
@@ -464,6 +464,7 @@ CdmResponseType CdmEngine::RestoreKey(const CdmSessionId& session_id,
|
|||||||
CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) {
|
CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) {
|
||||||
LOGI("session_id = %s", IdToString(session_id));
|
LOGI("session_id = %s", IdToString(session_id));
|
||||||
std::shared_ptr<CdmSession> session;
|
std::shared_ptr<CdmSession> session;
|
||||||
|
std::unique_lock<std::recursive_mutex> lock(session_map_lock_);
|
||||||
if (!session_map_.FindSession(session_id, &session)) {
|
if (!session_map_.FindSession(session_id, &session)) {
|
||||||
LOGE("Session not found: session_id = %s", IdToString(session_id));
|
LOGE("Session not found: session_id = %s", IdToString(session_id));
|
||||||
return SESSION_NOT_FOUND_5;
|
return SESSION_NOT_FOUND_5;
|
||||||
@@ -475,6 +476,7 @@ CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) {
|
|||||||
CdmResponseType CdmEngine::RemoveLicense(const CdmSessionId& session_id) {
|
CdmResponseType CdmEngine::RemoveLicense(const CdmSessionId& session_id) {
|
||||||
LOGI("session_id = %s", IdToString(session_id));
|
LOGI("session_id = %s", IdToString(session_id));
|
||||||
std::shared_ptr<CdmSession> session;
|
std::shared_ptr<CdmSession> session;
|
||||||
|
std::unique_lock<std::recursive_mutex> lock(session_map_lock_);
|
||||||
if (!session_map_.FindSession(session_id, &session)) {
|
if (!session_map_.FindSession(session_id, &session)) {
|
||||||
LOGE("Session not found: session_id = %s", IdToString(session_id));
|
LOGE("Session not found: session_id = %s", IdToString(session_id));
|
||||||
return SESSION_NOT_FOUND_19;
|
return SESSION_NOT_FOUND_19;
|
||||||
|
|||||||
Reference in New Issue
Block a user