summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-06-21 21:45:26 +0200
committerCarlos Garnacho <carlosg@gnome.org>2017-06-29 20:49:06 +0200
commit1c0c5a456bd0a857a9d8a690a4d08e233371596e (patch)
treeecc32fe2153bee691295e21d29cae46d01cb55f4
parent3e51f55538eaf3e1882131ce46214560504a3c55 (diff)
downloadtracker-1c0c5a456bd0a857a9d8a690a4d08e233371596e.tar.gz
tracker-extract: If there is a domain, set watch on it
And exit as soon as the name vanishes. It may safely continue its operations on the next startup.
-rw-r--r--src/tracker-extract/tracker-main.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tracker-extract/tracker-main.c b/src/tracker-extract/tracker-main.c
index 6a896f31c..a46859a83 100644
--- a/src/tracker-extract/tracker-main.c
+++ b/src/tracker-extract/tracker-main.c
@@ -300,6 +300,15 @@ run_standalone (TrackerConfig *config)
return EXIT_SUCCESS;
}
+static void
+on_domain_vanished (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data)
+{
+ GMainLoop *loop = user_data;
+ g_main_loop_quit (loop);
+}
+
int
main (int argc, char *argv[])
{
@@ -449,6 +458,13 @@ main (int argc, char *argv[])
/* Main loop */
main_loop = g_main_loop_new (NULL, FALSE);
+ if (domain_ontology && domain_ontology_name) {
+ g_bus_watch_name_on_connection (connection, domain_ontology_name,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ NULL, on_domain_vanished,
+ main_loop, NULL);
+ }
+
initialize_signal_handler ();
g_main_loop_run (main_loop);