tracker r1947 - in branches/indexer-split: . src/trackerd



Author: carlosg
Date: Mon Jul 28 08:25:28 2008
New Revision: 1947
URL: http://svn.gnome.org/viewvc/tracker?rev=1947&view=rev

Log:
2008-07-28  Carlos Garnacho  <carlos imendio com>

        * src/trackerd/tracker-crawler.c (file_enumerate_next_cb): Do not leak
        file infos and the enumerator.
        (tracker_crawler_start): Free remaining elements in the list.
        * src/trackerd/tracker-main.c (main): The index objects are owned by
        the index manager. Do not free them there.
        * src/trackerd/tracker-monitor.c (tracker_monitor_init): Do not leak
        the test monitor.


Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/trackerd/tracker-crawler.c
   branches/indexer-split/src/trackerd/tracker-main.c
   branches/indexer-split/src/trackerd/tracker-monitor.c

Modified: branches/indexer-split/src/trackerd/tracker-crawler.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-crawler.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-crawler.c	Mon Jul 28 08:25:28 2008
@@ -576,12 +576,19 @@
 		/* No more files or we are stopping anyway, so clean
 		 * up and close all file enumerators.
 		 */
+		if (files) {
+			g_list_foreach (files, (GFunc) g_object_unref, NULL);
+			g_list_free (files);
+		}
+
 		enumerator_data_free (ed);
 		g_file_enumerator_close_async (enumerator,
 					       G_PRIORITY_DEFAULT,
 					       NULL,
 					       file_enumerator_close_cb,
 					       crawler);
+		g_object_unref (enumerator);
+
 		return;
 	}
 
@@ -603,6 +610,8 @@
 	}
 
 	g_object_unref (child);
+
+	g_list_foreach (files, (GFunc) g_object_unref, NULL);
 	g_list_free (files);
 
 	/* Get next file */
@@ -749,10 +758,14 @@
 	
 	sl = priv->paths;
 	priv->paths = tracker_path_list_filter_duplicates (priv->paths);
+
+	g_slist_foreach (sl, (GFunc) g_free, NULL);
 	g_slist_free (sl);
 
 	sl = priv->recurse_paths;
 	priv->recurse_paths = tracker_path_list_filter_duplicates (priv->recurse_paths);
+
+	g_slist_foreach (sl, (GFunc) g_free, NULL);
 	g_slist_free (sl);
 
 	/* Time the event */

Modified: branches/indexer-split/src/trackerd/tracker-main.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-main.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-main.c	Mon Jul 28 08:25:28 2008
@@ -813,11 +813,6 @@
 	tracker_status_shutdown ();
 	tracker_log_shutdown ();
 
-	/* Clean up object references */
-	g_object_unref (email_index);
-	g_object_unref (file_update_index);
-	g_object_unref (file_index);
-
 #ifdef HAVE_HAL
 	g_object_unref (hal);
 #endif /* HAVE_HAL */

Modified: branches/indexer-split/src/trackerd/tracker-monitor.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-monitor.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-monitor.c	Mon Jul 28 08:25:28 2008
@@ -214,6 +214,7 @@
 	g_message ("Monitor limit is %d", priv->monitor_limit);
 	
 	g_file_monitor_cancel (monitor);
+	g_object_unref (monitor);
 	g_object_unref (file);
 }
 



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