diff options
Diffstat (limited to 'src/main-loop.c')
-rw-r--r-- | src/main-loop.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main-loop.c b/src/main-loop.c index 9105c91..899f4f2 100644 --- a/src/main-loop.c +++ b/src/main-loop.c @@ -44,11 +44,23 @@ struct dleyna_daemon_context_t_ { static dleyna_daemon_context_t g_context; +static gboolean prv_context_mainloop_quit_cb(gpointer user_data) +{ + DLEYNA_LOG_DEBUG("Main loop quit"); + + g_main_loop_quit(g_context.main_loop); + + return FALSE; +} + static gboolean prv_context_quit_cb(gpointer user_data) { DLEYNA_LOG_DEBUG("Quitting"); - g_main_loop_quit(g_context.main_loop); + g_context.connector->disconnect(); + g_context.control_point->finalize(); + + g_timeout_add_seconds(1, prv_context_mainloop_quit_cb, NULL); return FALSE; } |