From 4733c5fef00abacfbca414d96114bd7a5427ca12 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 29 Aug 2011 09:44:08 +0200 Subject: [PATCH] io_thread: add function io_thread_quit() --- src/io_thread.c | 11 +++++++++-- src/io_thread.h | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/io_thread.c b/src/io_thread.c index 4677428d6..a0e3a8844 100644 --- a/src/io_thread.c +++ b/src/io_thread.c @@ -74,13 +74,20 @@ io_thread_start(GError **error_r) return true; } +void +io_thread_quit(void) +{ + assert(io.loop != NULL); + + g_main_loop_quit(io.loop); +} + void io_thread_deinit(void) { if (io.thread != NULL) { - assert(io.loop != NULL); + io_thread_quit(); - g_main_loop_quit(io.loop); g_thread_join(io.thread); } diff --git a/src/io_thread.h b/src/io_thread.h index 5687aebb9..db925ab8f 100644 --- a/src/io_thread.h +++ b/src/io_thread.h @@ -37,6 +37,14 @@ io_thread_start(GError **error_r); void io_thread_run(void); +/** + * Ask the I/O thread to quit, but does not wait for it. Usually, you + * don't need to call this function, because io_thread_deinit() + * includes this. + */ +void +io_thread_quit(void); + void io_thread_deinit(void);