Join GitHub today
Further adventures with dead IO threads and threading timeouts #432
This is a follow-up to #351, specifically:
Yea, the issue is that current execution flow looks like this:
Why aren't the non-dead threads exiting cleanly in this case? If my notes/memory are to believed, it was because the
I debugged again this time and found:
So what else can we do differently here? Our detection of state is OK - we saw a thread die and finished waiting - but we need to be more targeting with our timeout.
So I think I can "just" update the join logic so that if the thread is stdout/err and sees that its opposite has