• Etienne Pierre-doray's avatar
    [Jobs API] Lockless CancelAndDetach. · 44f46540
    Etienne Pierre-doray authored
    Wasm wants to uses a CancelAndDetach + shared_ptr pattern that can cause
    CancelAndDetach to be called within GetMaxConcurrency(). This causes
    recursive lock errors. CancelAndDetach doesn't need a lock since state_
    is atomic; making it lockless allows this use case.
    
    The current wasm alternative is to hold a vector of JobHandle until the
    renderer is teared down; this causes a growing 'live' leak.
    
    Change-Id: I50e220fc87136739bd3641a2a6d5fad1fe376f9a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2508335
    Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
    Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#822870}
    44f46540
job_task_source.cc 13.7 KB