Skip to content
  • Philippe Gerum's avatar
    copperplate/threadobj: prevent priority inversion in threadobj_cancel() · d3a61fef
    Philippe Gerum authored
    We provide a guarantee to threadobj_cancel() callers that the killed
    thread has actually exited when the call returns.
    
    This change fixes an issue with L < M < H priority threads, with H
    calling threadobj_cancel() on L, while M is spinning. To address this,
    we boost L to H's priority before waiting for the "deletion confirmed"
    event, which is sent from L's finalizer.
    d3a61fef