Comment 12 for bug 1848457

Revision history for this message
Dantali0n (dantalion) wrote :

It still happens but I understand why now, because it is the last statement it triggers __exit__ which tries to shutdown all threads in the threadpool which of course will block indefinitely since either the read or write lock is acquired while the other still waits in trying to acquire it.

So the reason the POC with native Python blocks might be completely different as to why Futurist blocks. Since in the Futurist example `results = waiters.wait_for_any(futures)` clearly is not the last statement so this does not apply.