Failure messages are printed by cancellation procs; success messages are printed by do-something procs. There should never be ambiguity or a failure of feedback under that constraint.
Could you illustrate this with a concrete example, please? I'm having trouble seeing the problem.
Just because the race condition has a predictable outcome based on the current state doesn't mean it's not still a race condition. The issue is that the behavior can be 'unexpected' from the player point of view (even if reliably repeatable) simply due to the names chosen for the procs, not due to the code each executes.
Comment