--- a/qmsk/net/lib/event2/event.pxd Sat Sep 26 23:38:02 2009 +0300
+++ b/qmsk/net/lib/event2/event.pxd Sat Sep 26 23:51:31 2009 +0300
@@ -4,6 +4,8 @@
cimport qmsk.net.lib.event2.lib as lib
+from qmsk.net.lib.event2.base cimport event_base
+
# internal helper method for handling timeout arguments
cdef lib.timeval* build_timeout (lib.timeval *tv, object timeout = ?) except? <lib.timeval *>-1
@@ -26,12 +28,12 @@
themselves while "active". In other words, .add() will aquire an internal reference, which will be released
before the __call__().
- XXX: it might be better for refcounting if the event_base were to keep a reference to each event
- XXX: or if we kept a reference to the event_base? Might be even better
-
XXX: propagate errors (including e.g. KeyboardInterrupt?) from __call__ to event_base.loop()?
"""
+ # reference to our supporting event_base to ensure we don't lose it
+ cdef readonly event_base base
+
# the underlying event object
cdef lib.event *ev