Added safe subprocess handling to prevent blocked threads.

Review Request #2620 — Created Sept. 25, 2011 and submitted — Latest diff uploaded

Information

Review Board

Reviewers

Added safe subprocess handling to prevent blocked threads.

The patch subprocess waits for input from stdin, and if Review Board hits
and exception before it can provide that stdin, the process will continue
to wait in the background.

Addresses issue #1862.

Setting breakpoint.
Manual at this point.  I set a breakpoint just before we call the patch process, and then set the diff variable to None (not the empty string, mind you, but None).  This triggered the blocking patch process for me.

Anyhow, with this patch, that blocking process gets cleared.

If anybody has any ideas on how I might more accurately reproduce the problem in issue 1862, please let me know, and I'll write a real test for it.