summaryrefslogtreecommitdiffstats
path: root/pym/portage/util/_eventloop/GlibEventLoop.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/util/_eventloop/GlibEventLoop.py')
-rw-r--r--pym/portage/util/_eventloop/GlibEventLoop.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/pym/portage/util/_eventloop/GlibEventLoop.py b/pym/portage/util/_eventloop/GlibEventLoop.py
new file mode 100644
index 000000000..b35772e7f
--- /dev/null
+++ b/pym/portage/util/_eventloop/GlibEventLoop.py
@@ -0,0 +1,20 @@
+# Copyright 2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+import portage
+portage.proxy.lazyimport.lazyimport(globals(),
+ 'glib',
+)
+
+class GlibEventLoop(object):
+
+ # TODO: Support multiprocessing by using a separate glib.MainContext
+ # instance for each process.
+ supports_multiprocessing = False
+
+ def __init__(self):
+ self.iteration = glib.main_context_default().iteration
+ self.idle_add = glib.idle_add
+ self.io_add_watch = glib.io_add_watch
+ self.timeout_add = glib.timeout_add
+ self.source_remove = glib.source_remove