diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-06-21 21:45:26 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-06-29 20:49:06 +0200 |
commit | 1c0c5a456bd0a857a9d8a690a4d08e233371596e (patch) | |
tree | ecc32fe2153bee691295e21d29cae46d01cb55f4 | |
parent | 3e51f55538eaf3e1882131ce46214560504a3c55 (diff) | |
download | tracker-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.c | 16 |
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); |