The parent task used to be whoever first switched to the task, that isn't a very helpful definition and it caused issues with tasks being awakened by some other random task exiting, rather than the condition variable it was waiting for. It was broken before, but harder to notice since the Scheduler was forbidden from waiting on stuff.