[tracker-miners/wip/carlosg/extraction-fixes: 2/8] tracker: Skip "miners" found at runtime but not listed




commit b8ce2eab12c1fe1ac7c5c48c5434a1f1b05ed577
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri Sep 25 12:26:21 2020 +0200

    tracker: Skip "miners" found at runtime but not listed
    
    If "tracker3 status" is run while tracker-extract-3 is running, it
    looks enough of a miner to poke at it, but we get:
    
    (tracker status:53148): Tracker-CRITICAL **: 12:26:14.447: No D-Bus proxy found for miner 
'org.freedesktop.Tracker3.Miner.Extract'
    
    Since the service is not listed in our special directory. Make
    TrackerMinerManager skip over unlisted matches, so we don't issue
    this warning.
    
    However, might be nice to carry the status/timing information from
    tracker-extract-3 to "tracker3 status". Probably carried over by
    tracker-miner-fs-3.

 src/tracker/tracker-miner-manager.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
---
diff --git a/src/tracker/tracker-miner-manager.c b/src/tracker/tracker-miner-manager.c
index c62716395..0beca0e8d 100644
--- a/src/tracker/tracker-miner-manager.c
+++ b/src/tracker/tracker-miner-manager.c
@@ -701,10 +701,26 @@ tracker_miner_manager_get_running (TrackerMinerManager *manager)
 
        g_variant_get (v, "(as)", &iter);
        while (g_variant_iter_loop (iter, "&s", &str)) {
+               gboolean available = FALSE;
+               GList *l;
+
                if (!g_str_has_prefix (str, prefix)) {
                        continue;
                }
 
+               /* Skip unlisted miners */
+               for (l = priv->miners; l; l = l->next) {
+                       MinerData *data = l->data;
+
+                       if (g_strcmp0 (data->dbus_name, str) == 0) {
+                               available = TRUE;
+                               break;
+                       }
+               }
+
+               if (!available)
+                       continue;
+
                list = g_slist_prepend (list, g_strdup (str));
        }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]