# HG changeset patch # User Oleg Oshmyan # Date 1305578563 -3600 # Node ID 580f0f4687c3086a829bfc77d678b6b9c223becb # Parent 42c8f5c152a57222ea33808ad9587767f7ddf240 Fixed EINTR fatally breaking another poll() call on Python 2.6- diff -r 42c8f5c152a5 -r 580f0f4687c3 unix.py --- a/unix.py Mon May 16 21:31:43 2011 +0100 +++ b/unix.py Mon May 16 21:42:43 2011 +0100 @@ -183,8 +183,15 @@ except SelectError: if sys.exc_info()[1].args[0] != EINTR: raise - if case.process.poll() is None: - raise testcases.WallTimeLimitExceeded + # subprocess in Python 2.6- is not guarded against EINTR + try: + if case.process.poll() is None: + raise testcases.WallTimeLimitExceeded + except OSError: + if sys.exc_info()[1].errno != EINTR: + raise + else: + case.process.poll() else: wait(case.process) else: