This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients christian.heimes, felipecruz, giampaolo.rodola, gvanrossum, meador.inge, neologix, pitrou, rosslagerwall, sbt
Date 2013-01-08.22:22:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1357683745.75.0.934833660685.issue16853@psf.upfronthosting.co.za>
In-reply-to
Content
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).
History
Date User Action Args
2013-01-08 22:22:26gvanrossumsetrecipients: + gvanrossum, pitrou, giampaolo.rodola, christian.heimes, meador.inge, neologix, rosslagerwall, sbt, felipecruz
2013-01-08 22:22:25gvanrossumsetmessageid: <1357683745.75.0.934833660685.issue16853@psf.upfronthosting.co.za>
2013-01-08 22:22:25gvanrossumlinkissue16853 messages
2013-01-08 22:22:25gvanrossumcreate