diff options
Diffstat (limited to 'eventlet/hubs')
| -rw-r--r-- | eventlet/hubs/epolls.py | 3 | ||||
| -rw-r--r-- | eventlet/hubs/hub.py | 9 | ||||
| -rw-r--r-- | eventlet/hubs/kqueue.py | 5 | ||||
| -rw-r--r-- | eventlet/hubs/poll.py | 5 |
4 files changed, 10 insertions, 12 deletions
diff --git a/eventlet/hubs/epolls.py b/eventlet/hubs/epolls.py index 803b39d..8814248 100644 --- a/eventlet/hubs/epolls.py +++ b/eventlet/hubs/epolls.py @@ -1,7 +1,6 @@ import errno from eventlet.support import get_errno from eventlet import patcher -time = patcher.original('time') select = patcher.original("select") if hasattr(select, 'epoll'): epoll = select.epoll @@ -34,7 +33,7 @@ from eventlet.hubs.poll import READ, WRITE class Hub(poll.Hub): - def __init__(self, clock=time.time): + def __init__(self, clock=None): BaseHub.__init__(self, clock) self.poll = epoll() try: diff --git a/eventlet/hubs/hub.py b/eventlet/hubs/hub.py index 56cffb8..2834b3b 100644 --- a/eventlet/hubs/hub.py +++ b/eventlet/hubs/hub.py @@ -19,10 +19,8 @@ else: signal.alarm(math.ceil(seconds)) arm_alarm = alarm_signal -from eventlet import patcher from eventlet.hubs import timer, IOClosed -from eventlet.support import greenlets as greenlet, clear_sys_exc_info, six -time = patcher.original('time') +from eventlet.support import greenlets as greenlet, clear_sys_exc_info, monotonic, six g_prevent_multiple_readers = True @@ -113,12 +111,15 @@ class BaseHub(object): READ = READ WRITE = WRITE - def __init__(self, clock=time.time): + def __init__(self, clock=None): self.listeners = {READ: {}, WRITE: {}} self.secondaries = {READ: {}, WRITE: {}} self.closed = [] + if clock is None: + clock = monotonic.monotonic self.clock = clock + self.greenlet = greenlet.greenlet(self.run) self.stopping = False self.running = False diff --git a/eventlet/hubs/kqueue.py b/eventlet/hubs/kqueue.py index 05a961b..c5c5901 100644 --- a/eventlet/hubs/kqueue.py +++ b/eventlet/hubs/kqueue.py @@ -4,7 +4,6 @@ from eventlet import patcher, support from eventlet.support import six select = patcher.original('select') time = patcher.original('time') -sleep = time.sleep from eventlet.hubs.hub import BaseHub, READ, WRITE, noop @@ -20,7 +19,7 @@ FILTERS = {READ: select.KQ_FILTER_READ, class Hub(BaseHub): MAX_EVENTS = 100 - def __init__(self, clock=time.time): + def __init__(self, clock=None): super(Hub, self).__init__(clock) self._events = {} self._init_kqueue() @@ -96,7 +95,7 @@ class Hub(BaseHub): if not readers and not writers: if seconds: - sleep(seconds) + time.sleep(seconds) return result = self._control([], self.MAX_EVENTS, seconds) SYSTEM_EXCEPTIONS = self.SYSTEM_EXCEPTIONS diff --git a/eventlet/hubs/poll.py b/eventlet/hubs/poll.py index 536044c..54e242c 100644 --- a/eventlet/hubs/poll.py +++ b/eventlet/hubs/poll.py @@ -4,7 +4,6 @@ import sys from eventlet import patcher select = patcher.original('select') time = patcher.original('time') -sleep = time.sleep from eventlet.hubs.hub import BaseHub, READ, WRITE, noop from eventlet.support import get_errno, clear_sys_exc_info @@ -15,7 +14,7 @@ WRITE_MASK = select.POLLOUT class Hub(BaseHub): - def __init__(self, clock=time.time): + def __init__(self, clock=None): super(Hub, self).__init__(clock) self.poll = select.poll() # poll.modify is new to 2.6 @@ -79,7 +78,7 @@ class Hub(BaseHub): if not readers and not writers: if seconds: - sleep(seconds) + time.sleep(seconds) return try: presult = self.do_poll(seconds) |
