• Kenton Varda's avatar
    Test xthread cycles better, make cancellation fully synchronous. · b71d3cc2
    Kenton Varda authored
    * Extend the existing bidirectional cancellation thread to a three-thread case.
    * Also create a three-thread case where the events actually depend on each other in a cycle.
    
    The second new test made me realize a bigger problem: Cancellation really needs to destroy the PromiseNode in the remote thread synchronously before acknowledging, because the destructors of that PromiseNode could access objects captured from the requesting thread. So, I went ahead and fixed that.
    b71d3cc2
async-xthread-test.c++ 18 KB