From 4a75acb46c31c6bef7522133e7fcd4b11640e509 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 29 Aug 2011 09:51:59 +0200 Subject: io_thread: add function io_thread_run() --- src/io_thread.c | 10 ++++++++-- src/io_thread.h | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src') 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); -- cgit v1.2.3