On Thu, Mar 30, 2017 at 10:51 PM, Cameron Simpson <cs at zip.com.au> wrote: > This suggests that .communicate uses Threads to send and to gather data > independently, and that therefore the deadlock situation may not arise. For Unix, communicate() uses select or poll. It uses threads on Windows. Either way it avoids deadlocking.