-
Notifications
You must be signed in to change notification settings - Fork 940
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
monkey.patch_socket(aggressive=True) no longer removes select.epoll (1.5 regression) #1570
Comments
A missing comma led to string concatenation and a silent bug. I'm surprised this wasn't really tested anywhere. Fixes #1570
@jamadden thanks for quick fix. |
This was also a problem for kqueue/kevent: Traceback (most recent call last):
File "//2.7/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "//2.7/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "///eggs/ZEO-5.2.1-py2.7.egg/ZEO/asyncio/client.py", line 858, in run
loop = new_event_loop()
File "///eggs/trollius-2.2-py2.7.egg/trollius/events.py", line 615, in new_event_loop
return get_event_loop_policy().new_event_loop()
File "///eggs/trollius-2.2-py2.7.egg/trollius/events.py", line 566, in new_event_loop
return self._loop_factory()
File "///eggs/trollius-2.2-py2.7.egg/trollius/unix_events.py", line 56, in __init__
super(_UnixSelectorEventLoop, self).__init__(selector)
File "///eggs/trollius-2.2-py2.7.egg/trollius/selector_events.py", line 75, in __init__
self._make_self_pipe()
File "///eggs/trollius-2.2-py2.7.egg/trollius/selector_events.py", line 140, in _make_self_pipe
self.add_reader(self._ssock.fileno(), self._read_from_self)
File "///eggs/trollius-2.2-py2.7.egg/trollius/selector_events.py", line 257, in add_reader
(handle, None))
File "///eggs/trollius-2.2-py2.7.egg/trollius/selectors.py", line 530, in register
kev = select.kevent(key.fd, select.KQ_FILTER_READ,
AttributeError: 'module' object has no attribute 'kevent' |
@jamadden, thanks for heads up. Given that this regression is showing in many places, in my view it makes sense to make a 1.5.post1 gevent release with the fix. |
Sorry, I was too fast to type - you've already made it. Thanks! |
|
I see; thanks for clarifying. |
Linux deco 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
Description:
monkey.patch_socket(aggressive=True)
documents that it removes things likeselect.epoll
on Py3. It used to be indeed so with gevent-1.4, but is no longer the case with gevent-1.5:gevent/select.py
says:so judging by this comment, since
select.epoll
is no longer removed, something might have become broken with e.g. asyncore.The issue was found via gpython test.
The text was updated successfully, but these errors were encountered: