aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-08-29 09:51:59 +0200
committerMax Kellermann <max@duempel.org>2011-08-29 09:52:03 +0200
commit4a75acb46c31c6bef7522133e7fcd4b11640e509 (patch)
treeb9bee3c9ff464884670f9138866684f42ef0b904
parent453368078be8e79955a66ea9ca63efd6c3095850 (diff)
downloadmpd-4a75acb46c31c6bef7522133e7fcd4b11640e509.tar.gz
mpd-4a75acb46c31c6bef7522133e7fcd4b11640e509.tar.xz
mpd-4a75acb46c31c6bef7522133e7fcd4b11640e509.zip
io_thread: add function io_thread_run()
-rw-r--r--src/io_thread.c10
-rw-r--r--src/io_thread.h8
2 files changed, 16 insertions, 2 deletions
diff --git a/src/io_thread.c b/src/io_thread.c
index a2249ae95..4677428d6 100644
--- a/src/io_thread.c
+++ b/src/io_thread.c
@@ -31,13 +31,19 @@ static struct {
GThread *thread;
} io;
-static gpointer
-io_thread_func(G_GNUC_UNUSED gpointer arg)
+void
+io_thread_run(void)
{
assert(io.context != NULL);
assert(io.loop != NULL);
g_main_loop_run(io.loop);
+}
+
+static gpointer
+io_thread_func(G_GNUC_UNUSED gpointer arg)
+{
+ io_thread_run();
return NULL;
}
diff --git a/src/io_thread.h b/src/io_thread.h
index 2daddba86..5687aebb9 100644
--- a/src/io_thread.h
+++ b/src/io_thread.h
@@ -29,6 +29,14 @@ io_thread_init(void);
bool
io_thread_start(GError **error_r);
+/**
+ * Run the I/O event loop synchronously in the current thread. This
+ * can be called instead of io_thread_start(). For testing purposes
+ * only.
+ */
+void
+io_thread_run(void);
+
void
io_thread_deinit(void);