From bbf25ded90e0af14d15a310be8921cd261c80deb Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 22 Oct 2012 10:44:53 -0700 Subject: Apparently epoll() does not need to check for EPOLLHUP. --- main.py | 3 +++ polling.py | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 0a01303..52a0fef 100644 --- a/main.py +++ b/main.py @@ -38,6 +38,9 @@ import select import socket import time +# Initialize logging before we import polling. +logging.basicConfig(level=logging.INFO) + # Local imports (keep in alphabetic order). import polling diff --git a/polling.py b/polling.py index 28cc03c..a85d8af 100644 --- a/polling.py +++ b/polling.py @@ -147,11 +147,11 @@ class EPollMixin(PollsterBase): timeout = -1 # epoll.poll() uses -1 to mean "wait forever". events = [] for fd, eventmask in self._epoll.poll(timeout): - if eventmask & (select.EPOLLIN | select.EPOLLHUP): + if eventmask & select.EPOLLIN: if fd in self.readers: callback, args = self.readers[fd] events.append((fd, eventmask, callback, args)) - if eventmask & (select.EPOLLOUT | select.EPOLLHUP): + if eventmask & select.EPOLLOUT: if fd in self.writers: callback, args = self.writers[fd] events.append((fd, eventmask, callback, args)) @@ -266,6 +266,8 @@ elif hasattr(select, 'poll'): # Newer UNIX else: # All UNIX; Windows (for sockets only) poll_base = SelectMixin +logging.info('Using Pollster base class %r', poll_base.__name__) + class Pollster(EventLoopMixin, poll_base): pass -- cgit v1.2.1