summaryrefslogtreecommitdiff
path: root/src/main-loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main-loop.c')
-rw-r--r--src/main-loop.c14
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;
}