Message179381
Figured it out. KqueueSelector was missing the unregister() implementation. Here it is:
def unregister(self, fileobj):
key = super().unregister(fileobj)
mask = 0
if key.events & SELECT_IN:
mask |= KQ_FILTER_READ
if key.events & SELECT_OUT:
mask |= KQ_FILTER_WRITE
kev = kevent(key.fd, mask, KQ_EV_DELETE)
self._kqueue.control([kev], 0, 0)
I also added a __repr__ to the _Key class:
def __repr__(self):
return '{}<fileobje={}, fd={}, events={:#x}, data={}>'.format(
self.__class__.__name__,
self.fileobj, self.fd, self.events, self.data)
Attached a new patch for tulip (but no new patch for select.py). I think I may have left the debug logging in. I will submit this to the Tulip repo, but we still need the changes for SELECT_CONNECT (I can't really test that, still no Windows access). |
|
Date |
User |
Action |
Args |
2013-01-08 22:22:26 | gvanrossum | set | recipients:
+ gvanrossum, pitrou, giampaolo.rodola, christian.heimes, meador.inge, neologix, rosslagerwall, sbt, felipecruz |
2013-01-08 22:22:25 | gvanrossum | set | messageid: <1357683745.75.0.934833660685.issue16853@psf.upfronthosting.co.za> |
2013-01-08 22:22:25 | gvanrossum | link | issue16853 messages |
2013-01-08 22:22:25 | gvanrossum | create | |
|