Python deadlock using subprocess.popen and communicate

Atherun atherun at
Wed Sep 21 23:09:05 EDT 2011

This is on windows with python 2.6.
I can't seem to remove a possibility of a  deadlock in one of my
scripts at the moment.  Its not a constant deadlock but it appears
from time to time.  The code is below:


        process =

        NotDone = True
        data = []
        while NotDone:
            NotDone = False

            result = process.poll()
            if result == None:
                NotDone = True
            if NotDone:
                out, err = process.communicate()

I was able to get the program to write out the stack trace for my
threads and it is usually deadlocked on or
_internal_poll of subproceess.

I've even tried the above, with using "with
tempfile.NamedTemporaryFiles() as buff:" and writing to the file, but
it still deadlocks.  In the past I work around this by running fewer
processes asynchronously but I would really like to get this solved so
I don't have to wait to see if it'll be caused with any changes I

Any tips would be appreciated.

More information about the Python-list mailing list