aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2012-08-19 17:10:38 +0000
committerRob Austein <sra@hactrn.net>2012-08-19 17:10:38 +0000
commit96dce20631fe89bd9e65949be67739d2d75b5441 (patch)
tree54b3eb611508fc4e8f4258f18147abad5c994335
parent01bc52850438c23b31347440825dedfcd125bfbb (diff)
Cleanup
svn path=/branches/tk274/; revision=4643
-rw-r--r--rpkid/rpki/adns.py2
-rw-r--r--rpkid/rpki/async.py27
-rw-r--r--rpkid/rpki/http.py2
-rw-r--r--rpkid/rpki/rpkid.py2
-rw-r--r--rpkid/rpki/rpkid_tasks.py14
5 files changed, 26 insertions, 21 deletions
diff --git a/rpkid/rpki/adns.py b/rpkid/rpki/adns.py
index a9d04c2a..efee897f 100644
--- a/rpkid/rpki/adns.py
+++ b/rpkid/rpki/adns.py
@@ -134,7 +134,7 @@ class query(object):
self.qtype = qtype
self.qclass = qclass
self.start = time.time()
- rpki.async.defer(self.go)
+ rpki.async.event_defer(self.go)
def go(self):
"""
diff --git a/rpkid/rpki/async.py b/rpkid/rpki/async.py
index 7563f589..ecea3bbd 100644
--- a/rpkid/rpki/async.py
+++ b/rpkid/rpki/async.py
@@ -72,7 +72,7 @@ class iterator(object):
def __call__(self):
if self.unwind_stack:
- defer(self.doit)
+ event_defer(self.doit)
else:
self.doit()
@@ -95,7 +95,7 @@ class iterator(object):
self.done_callback()
-## @var queue
+## @var timer_queue
# Timer queue.
timer_queue = []
@@ -274,17 +274,17 @@ def exit_event_loop():
"""
raise ExitNow
-def event_yield(handler, delay = rpki.sundial.timedelta(seconds = 0)):
+def event_defer(handler, delay = rpki.sundial.timedelta(seconds = 0)):
"""
- Use a near-term timer to schedule an event after letting the timer
- and I/O systems run.
+ Use a near-term (default: zero interval) timer to schedule an event
+ to run after letting the I/O system have a turn.
"""
- t = timer(handler)
- t.set(delay)
+ timer(handler).set(delay)
-# Backwards compatability -- clean this up if the change works
+## @var debug_event_timing
+# Enable insanely verbose logging of event timing
-defer = event_yield
+debug_event_timing = False
def event_loop(catch_signals = (signal.SIGINT, signal.SIGTERM)):
"""
@@ -300,7 +300,8 @@ def event_loop(catch_signals = (signal.SIGINT, signal.SIGTERM)):
old_signal_handlers[sig] = old
while asyncore.socket_map or timer_queue:
t = timer.seconds_until_wakeup()
- rpki.log.debug("Dismissing to asyncore.poll(), t = %s, q = %r" % (t, timer_queue))
+ if debug_event_timing:
+ rpki.log.debug("Dismissing to asyncore.poll(), t = %s, q = %r" % (t, timer_queue))
asyncore.poll(t, asyncore.socket_map)
timer.runq()
if timer.gc_debug:
@@ -368,10 +369,6 @@ class sync_wrapper(object):
def __call__(self, *args, **kwargs):
def thunk():
- """
- Deferred action to call the wrapped code once event system is
- running.
- """
try:
self.func(self.cb, self.eb, *args, **kwargs)
except ExitNow:
@@ -379,7 +376,7 @@ class sync_wrapper(object):
except Exception, e:
self.eb(e)
- defer(thunk)
+ event_defer(thunk)
event_loop()
if self.err is None:
return self.res
diff --git a/rpkid/rpki/http.py b/rpkid/rpki/http.py
index 244a9305..6e932d26 100644
--- a/rpkid/rpki/http.py
+++ b/rpkid/rpki/http.py
@@ -985,7 +985,7 @@ def client(msg, url, callback, errback):
if debug_http:
rpki.log.debug("Scheduling connection startup for %r" % request)
- rpki.async.defer(client_queues[hostport].restart)
+ rpki.async.event_defer(client_queues[hostport].restart)
def server(handlers, port, host = ""):
"""
diff --git a/rpkid/rpki/rpkid.py b/rpkid/rpki/rpkid.py
index 962bedaa..fa20c01e 100644
--- a/rpkid/rpki/rpkid.py
+++ b/rpkid/rpki/rpkid.py
@@ -350,7 +350,7 @@ class main(object):
self.task_current = None
else:
rpki.log.debug("Pulled %r from task queue" % self.task_current)
- rpki.async.defer(self.task_current)
+ rpki.async.event_defer(self.task_current)
def task_run(self):
"""
diff --git a/rpkid/rpki/rpkid_tasks.py b/rpkid/rpki/rpkid_tasks.py
index 0960cc14..facf5ad2 100644
--- a/rpkid/rpki/rpkid_tasks.py
+++ b/rpkid/rpki/rpkid_tasks.py
@@ -42,12 +42,18 @@ class CompletionHandler(object):
the last of them terminates.
"""
+ ## @var debug
+ # Debug logging.
+
+ debug = False
+
def __init__(self, cb):
self.cb = cb
self.tasks = set()
def register(self, task):
- rpki.log.debug("Completion handler %r registering task %r" % (self, task))
+ if self.debug:
+ rpki.log.debug("Completion handler %r registering task %r" % (self, task))
self.tasks.add(task)
task.register_completion(self.done)
@@ -57,9 +63,11 @@ class CompletionHandler(object):
except KeyError:
rpki.log.warn("Completion handler %r called with unregistered task %r, blundering onwards" % (self, task))
else:
- rpki.log.debug("Completion handler %r called with registered task %r" % (self, task))
+ if self.debug:
+ rpki.log.debug("Completion handler %r called with registered task %r" % (self, task))
if not self.tasks:
- rpki.log.debug("Completion handler %r finished, calling %r" % (self, self.cb))
+ if self.debug:
+ rpki.log.debug("Completion handler %r finished, calling %r" % (self, self.cb))
self.cb()
@property