Use Popen .communicate() instead of .stdin.write() to avoid deadlocks.

Review Request #5393 — Created Feb. 3, 2014 and submitted — Latest diff uploaded

Information

Review Board
master

Reviewers

Use Popen .communicate() instead of .stdin.write() to avoid deadlocks.

Writing to Popen.stdin can cause a deadlock if the passed-in data is larger
than the OS's buffer. The communicate() method avoids this problem, and it
makes the code a bit shorter, too.

  • Ran unit tests.
  • Smoke tested a few diffs.