[FIX] actually retry select on EINTR
Turns out select has its own select.error which does *not* subclass EnvironmentError (or OSError or IOError) and does *not* have a .errno attribute. So use the correct exception, might just work better than using a completely different one with no relation. bzr revid: xmo@openerp.com-20140219155303-sgz7m3gnzr2bmani
This commit is contained in:
parent
55a9e5af27
commit
fc780d5a81
|
@ -197,8 +197,12 @@ class HttpCase(TransactionCase):
|
|||
# read a byte
|
||||
try:
|
||||
ready, _, _ = select.select([phantom.stdout], [], [], 0.5)
|
||||
except EnvironmentError, e:
|
||||
if e.errno == errno.EINTR: continue
|
||||
except select.error, e:
|
||||
# In Python 2, select.error has no relation to IOError or
|
||||
# OSError, and no errno/strerror/filename, only a pair of
|
||||
# unnamed arguments (matching errno and strerror)
|
||||
err, _ = e.args
|
||||
if err == errno.EINTR: continue
|
||||
raise
|
||||
|
||||
if ready:
|
||||
|
|
Loading…
Reference in New Issue