New submission from John Szakmeister:

I discovered this issue while trying to track down why our upcoming release for 
Nose 1.3.0 was deadlocking under Ubuntu 12.04 with Python 3.3.  It turns out 
that the read() was being interrupted leaving data in the subprocess's output 
buffers, which ultimately means the subprocess is blocked.  Since the thread 
was exiting, and the read was never retried, we were left in deadlock.

The attached patch fixes the issue.  It wraps the read call with 
_eintr_retry_call() around the read operation in _readerthread().

----------
components: Library (Lib)
files: fix-subprocess-deadlock.patch
keywords: patch
messages: 183584
nosy: jszakmeister
priority: normal
severity: normal
status: open
title: subprocess deadlock when read() is interrupted
type: behavior
versions: Python 3.3
Added file: http://bugs.python.org/file29323/fix-subprocess-deadlock.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue17367>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to