Kaydet (Commit) 05dc20f9 authored tarafından Giampaolo Rodola's avatar Giampaolo Rodola Kaydeden (comit) Guido van Rossum

#30624 / selectors: use bare except clause in order to not leave the fd in a bad…

#30624 / selectors: use bare except clause in order to not leave the fd in a bad state in case of error (#2082)
üst 6b6e6877
......@@ -387,7 +387,7 @@ class _PollLikeSelector(_BaseSelectorImpl):
selector_events |= self._EVENT_WRITE
try:
self._selector.modify(key.fd, selector_events)
except Exception:
except:
super().unregister(fileobj)
raise
changed = True
......@@ -524,7 +524,7 @@ if hasattr(select, 'kqueue'):
kev = select.kevent(key.fd, select.KQ_FILTER_WRITE,
select.KQ_EV_ADD)
self._selector.control([kev], 0, 0)
except Exception:
except:
super().unregister(fileobj)
raise
return key
......
......@@ -350,6 +350,10 @@ Extension Modules
Library
-------
- bpo-30624: selectors does not take KeyboardInterrupt and SystemExit into
account, leaving a fd in a bad state in case of error. Patch by Giampaolo
Rodola'.
- bpo-30595: multiprocessing.Queue.get() with a timeout now polls its reader in
non-blocking mode if it succeeded to aquire the lock but the acquire took
longer than the timeout.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment