Commit bde0675e authored by Eddi Linder's avatar Eddi Linder

Don't implement poll when python doesn't have one

parent b3793ee5
......@@ -77,8 +77,8 @@ def select(rlist, wlist, xlist, timeout=None):
for watcher in watchers:
watcher.stop()
class PollResult(object):
if original_poll is not None:
class PollResult(object):
__slots__ = ['events', 'event']
def __init__(self):
......@@ -93,14 +93,12 @@ class PollResult(object):
self.event.set()
class poll(object):
class poll(object):
def __init__(self):
self.fds = {}
self.loop = get_hub().loop
# Using the original poll to handle immediate response polling.
# Using the ev based way, we receive a signal on the first descriptor.
self.poll_obj = None
if original_poll is not None:
self.poll_obj = original_poll()
def register(self, fd, eventmask=POLLIN | POLLOUT):
......@@ -110,16 +108,13 @@ class poll(object):
watcher = self.loop.io(get_fileno(fd), flags)
watcher.priority = self.loop.MAXPRI
self.fds[fd] = watcher
if self.poll_obj:
self.poll_obj.register(fd, eventmask)
def modify(self, fd, eventmask):
self.register(fd, eventmask)
if self.poll_obj:
self.poll_obj.modify(fd, eventmask)
def poll(self, timeout=None):
if self.poll_obj:
results = self.poll_obj.poll(0)
if results:
return results
......@@ -137,5 +132,4 @@ class poll(object):
def unregister(self, fd):
self.fds.pop(fd, None)
if self.poll_obj:
self.poll_obj.unregister(fd)
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