webaudio: Destroy audio handlers with the graph lock held.
This allows DeferredTaskHandler::RemoveMarkedSummingJunction to assume that the graph lock is held, rather than having to acquire it (recursively, if it's already held). Since Oilpan finalizers cannot safely touch other heap objects (as those object may be swept in the same GC cycle), the AudioNode and AudioParam objects now hold a direct reference to the DeferredTaskHandler associated with the audio context, which is needed to acquire the appropriate lock. Bug: 856641 Change-Id: Ied445a684d60b8beccb080b98867fcf80f967d21 Reviewed-on: https://chromium-review.googlesource.com/1182296 Commit-Queue: Jeremy Roman <jbroman@chromium.org> Reviewed-by:Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#585069}
Showing
Please register or sign in to comment