• Jeremy Roman's avatar
    webaudio: Destroy audio handlers with the graph lock held. · 844c12c6
    Jeremy Roman authored
    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: default avatarRaymond Toy <rtoy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#585069}
    844c12c6
audio_node.h 15.7 KB