summaryrefslogtreecommitdiff
path: root/eventlet/hubs
diff options
context:
space:
mode:
Diffstat (limited to 'eventlet/hubs')
-rw-r--r--eventlet/hubs/epolls.py3
-rw-r--r--eventlet/hubs/hub.py9
-rw-r--r--eventlet/hubs/kqueue.py5
-rw-r--r--eventlet/hubs/poll.py5
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)