182f3c805800ff6bf170c145ad311831a60fd0c2
[ Merge from go/wvgerrit/22920 ] Automated tests reveal a race condition between closing a session and the periodic policy timer event. If a close session was in progress (WVDrmPlugin::closeSession) and CdmEngine::CloseSession caused the CdmEngine::session_list_lock_ to be held, a call into CdmEngine::OnTimerEvent would pend on the release of the lock. The close session would continue to deallocate the session and disable (stop) the policy timer leaving the CdmEngine::OnTimerEvent call in an undefined state. This would result in an ANR. This subtle race-condition was introduced when changes were made to add in per-origin storage [ http://go/wvgerrit/17971 ]. This seems to happen at a low frequency (~ < 0.5%). To address a lock has been introduced to protect the map WvContentDecryptionModule::cdms_. Test: Unit tests + 200 aupt test iterations b/33343891 Change-Id: I9788db8a7d1df84f0df82cdbadb9d0f0fbe21e4e
Description
No description provided