[tracker] Fix iterating OVER every other device in the processor's list
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker] Fix iterating OVER every other device in the processor's list
- Date: Mon, 22 Jun 2009 09:51:20 -0400 (EDT)
commit 99d7e36f1cacbed613fd9b2ccc72748beba65885
Author: Martyn Russell <martyn imendio com>
Date: Tue Jun 2 15:10:43 2009 +0100
Fix iterating OVER every other device in the processor's list
src/trackerd/tracker-processor.c | 40 ++++++++++++++++++++-----------------
1 files changed, 22 insertions(+), 18 deletions(-)
---
diff --git a/src/trackerd/tracker-processor.c b/src/trackerd/tracker-processor.c
index 9c4ccbe..eb8633c 100644
--- a/src/trackerd/tracker-processor.c
+++ b/src/trackerd/tracker-processor.c
@@ -1093,7 +1093,18 @@ process_device_next (TrackerProcessor *processor)
processor->private->current_device = processor->private->devices;
}
} else {
- processor->private->current_device = processor->private->current_device->next;
+ GList *l;
+
+ l = processor->private->current_device;
+
+ /* Now free that device so we don't recrawl it */
+ if (l) {
+ g_free (l->data);
+
+ processor->private->current_device =
+ processor->private->devices =
+ g_list_delete_link (processor->private->devices, l);
+ }
}
/* If we have no further devices to iterate */
@@ -1109,6 +1120,9 @@ process_device_next (TrackerProcessor *processor)
static void
process_modules_start (TrackerProcessor *processor)
{
+ g_message ("Processor has started iterating %d modules",
+ g_list_length (processor->private->modules));
+
if (processor->private->timer) {
g_timer_destroy (processor->private->timer);
}
@@ -1133,8 +1147,8 @@ process_modules_stop (TrackerProcessor *processor)
}
g_message ("--------------------------------------------------");
- g_message ("Processor %s crawling modules",
- processor->private->interrupted ? "been stopped" : "has finished");
+ g_message ("Processor has %s iterating modules",
+ processor->private->interrupted ? "been stopped while" : "finished");
processor->private->finished_modules = TRUE;
@@ -1177,6 +1191,9 @@ process_modules_stop (TrackerProcessor *processor)
static void
process_devices_start (TrackerProcessor *processor)
{
+ g_message ("Processor has started iterating %d devices",
+ g_list_length (processor->private->devices));
+
if (processor->private->timer) {
g_timer_destroy (processor->private->timer);
}
@@ -1201,8 +1218,8 @@ process_devices_stop (TrackerProcessor *processor)
}
g_message ("--------------------------------------------------");
- g_message ("Processor %s crawling devices",
- processor->private->interrupted ? "been stopped" : "has finished");
+ g_message ("Processor has %s iterating devices",
+ processor->private->interrupted ? "been stopped while" : "finished");
processor->private->finished_devices = TRUE;
@@ -1731,19 +1748,6 @@ crawler_finished_cb (TrackerCrawler *crawler,
processor->private->total_files_found += files_found;
processor->private->total_files_ignored += files_ignored;
- if (processor->private->finished_modules == TRUE &&
- processor->private->finished_devices == FALSE) {
- GList *l;
-
- l = processor->private->current_device;
-
- /* Now free that device so we don't recrawl it */
- if (l) {
- g_free (l->data);
- processor->private->devices = g_list_delete_link (processor->private->devices, l);
- }
- }
-
/* Proceed to next thing to process */
process_continue (processor);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]