[tracker/porting/processor-rework: 5/5] Fix iterating OVER every other device in the processor's list
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker/porting/processor-rework: 5/5] Fix iterating OVER every other device in the processor's list
- Date: Fri, 5 Jun 2009 06:49:43 -0400 (EDT)
commit 070afda508b04fdc03590efe0f04351288d27515
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 51c66f2..4470858 100644
--- a/src/trackerd/tracker-processor.c
+++ b/src/trackerd/tracker-processor.c
@@ -1111,7 +1111,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 */
@@ -1127,6 +1138,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);
}
@@ -1151,8 +1165,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;
@@ -1195,6 +1209,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);
}
@@ -1219,8 +1236,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;
@@ -1749,19 +1766,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]