python-markdown-graphviz icon indicating copy to clipboard operation
python-markdown-graphviz copied to clipboard

Hang when output file size exceeds OS pipe buffer size

Open ssokolow opened this issue 10 years ago • 0 comments

Basically, you're tripping over this warning from the Python manual:

Warning: Use communicate() rather than stdin.write(), stdout.read() or stderr.read() to avoid deadlocks due to any of the other OS pipe buffers filling up and blocking the child process.

...though I also noticed that you were making a couple of other mistakes in your use of subprocess:

Warning: Passing shell=True can be a security hazard if combined with untrusted input. See the warning under Frequently Used Arguments for details.

Note that on Windows, you cannot set close_fds to true and also redirect the standard handles by setting stdin, stdout or stderr.

I have a fix (plus some code cleanups) ready to submit but, with no license specified, I'm wary of submitting a pull request where the world can see and use my changes.

ssokolow avatar Dec 20 '14 23:12 ssokolow