tracker r1828 - in branches/indexer-split: . src/libtracker-common src/libtracker-db src/trackerd tests/libtracker-common



Author: mr
Date: Wed Jul  2 14:28:28 2008
New Revision: 1828
URL: http://svn.gnome.org/viewvc/tracker?rev=1828&view=rev

Log:
	* src/libtracker-common/tracker-dbus.[ch]:
	* src/libtracker-db/tracker-db-dbus.c:
	* src/trackerd/tracker-crawler.c:
	* src/trackerd/tracker-monitor.c:
	* tests/libtracker-common/tracker-dbus-test.c: Use a GQueue
	instead of a GAsyncQueue. We don't have any threads so there is no
	need for the extra locking overhead.


Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/libtracker-common/tracker-dbus.c
   branches/indexer-split/src/libtracker-common/tracker-dbus.h
   branches/indexer-split/src/libtracker-db/tracker-db-dbus.c
   branches/indexer-split/src/trackerd/tracker-crawler.c
   branches/indexer-split/src/trackerd/tracker-monitor.c
   branches/indexer-split/tests/libtracker-common/tracker-dbus-test.c

Modified: branches/indexer-split/src/libtracker-common/tracker-dbus.c
==============================================================================
--- branches/indexer-split/src/libtracker-common/tracker-dbus.c	(original)
+++ branches/indexer-split/src/libtracker-common/tracker-dbus.c	Wed Jul  2 14:28:28 2008
@@ -24,7 +24,7 @@
 #include <gio/gio.h>
 
 GValue *
-tracker_dbus_g_value_slice_new (GType type)
+tracker_dbus_gvalue_slice_new (GType type)
 {
 	GValue *value;
 
@@ -35,7 +35,7 @@
 }
 
 void
-tracker_dbus_g_value_slice_free (GValue *value)
+tracker_dbus_gvalue_slice_free (GValue *value)
 {
 	g_value_unset (value);
 	g_slice_free (GValue, value);
@@ -88,17 +88,15 @@
 }
 
 gchar **
-tracker_dbus_async_queue_to_strv (GAsyncQueue *queue, 
-				  gint         max)
+tracker_dbus_queue_str_to_strv (GQueue *queue, 
+				gint    max)
 {
 	gchar **strv;
 	gchar  *str;
 	gint    i, j;
 	gint    length;
 
-	g_async_queue_lock (queue);
-
-	length = g_async_queue_length_unlocked (queue);
+	length = g_queue_get_length (queue);
 		
 	if (max > 0) {
 		length = MIN (max, length);
@@ -107,7 +105,7 @@
 	strv = g_new0 (gchar*, length + 1);
 	
 	for (i = 0, j = 0; i < length; i++) {
-		str = g_async_queue_try_pop_unlocked (queue);
+		str = g_queue_pop_head (queue);
 
 		if (!str) {
 			break;
@@ -124,13 +122,11 @@
 
         strv[j] = NULL;
 
-	g_async_queue_unlock (queue);
-
 	return strv;
 }
 
 gchar **
-tracker_dbus_gfile_queue_to_strv (GQueue *queue, 
+tracker_dbus_queue_gfile_to_strv (GQueue *queue, 
 				  gint    max)
 {
 	gchar **strv;

Modified: branches/indexer-split/src/libtracker-common/tracker-dbus.h
==============================================================================
--- branches/indexer-split/src/libtracker-common/tracker-dbus.h	(original)
+++ branches/indexer-split/src/libtracker-common/tracker-dbus.h	Wed Jul  2 14:28:28 2008
@@ -80,12 +80,12 @@
 						   const gpointer   arg2);
 
 /* Utils */
-GValue *         tracker_dbus_g_value_slice_new   (GType            type);
-void             tracker_dbus_g_value_slice_free  (GValue          *value);
+GValue *         tracker_dbus_gvalue_slice_new    (GType            type);
+void             tracker_dbus_gvalue_slice_free   (GValue          *value);
 gchar **         tracker_dbus_slist_to_strv       (GSList          *list);
-gchar **         tracker_dbus_async_queue_to_strv (GAsyncQueue     *queue, 
+gchar **         tracker_dbus_queue_str_to_strv   (GQueue          *queue, 
 						   gint             max);
-gchar **         tracker_dbus_gfile_queue_to_strv (GQueue          *queue, 
+gchar **         tracker_dbus_queue_gfile_to_strv (GQueue          *queue, 
 						   gint             max);
 
 /* Requests */

Modified: branches/indexer-split/src/libtracker-db/tracker-db-dbus.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-dbus.c	(original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-dbus.c	Wed Jul  2 14:28:28 2008
@@ -73,7 +73,7 @@
 	hash_table = g_hash_table_new_full (g_str_hash,
                                             g_str_equal,
                                             (GDestroyNotify) g_free,
-                                            (GDestroyNotify) tracker_dbus_g_value_slice_free);       
+                                            (GDestroyNotify) tracker_dbus_gvalue_slice_free);       
 
 	if (result_set) {
 		valid = TRUE;
@@ -92,7 +92,7 @@
 		g_value_init (&transform, G_TYPE_STRING);
 
 		tracker_db_result_set_get (result_set, 0, &key, -1);
-		values = tracker_dbus_g_value_slice_new (G_TYPE_STRV);
+		values = tracker_dbus_gvalue_slice_new (G_TYPE_STRV);
 
                 for (i = 1; i < field_count; i++) {
 			GValue  value;

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	Wed Jul  2 14:28:28 2008
@@ -651,7 +651,7 @@
 	}
 
 	total = g_queue_get_length (crawler->private->files);
-	files = tracker_dbus_gfile_queue_to_strv (crawler->private->files,
+	files = tracker_dbus_queue_gfile_to_strv (crawler->private->files,
 						  FILES_QUEUE_PROCESS_MAX);
 	
 	g_debug ("File check queue processed, sending first %d/%d to the indexer",

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	Wed Jul  2 14:28:28 2008
@@ -35,9 +35,9 @@
 
 static TrackerConfig *config;
 static GHashTable    *monitors;
-static GAsyncQueue   *files_created;
-static GAsyncQueue   *files_updated;
-static GAsyncQueue   *files_deleted;
+static GQueue        *files_created;
+static GQueue        *files_updated;
+static GQueue        *files_deleted;
 static guint          files_queue_handlers_id;
 static GType          monitor_backend; 
 static guint          monitor_limit;
@@ -90,15 +90,15 @@
 	}
 
 	if (!files_created) {
-		files_created = g_async_queue_new ();
+		files_created = g_queue_new ();
 	}
 
 	if (!files_updated) {
-		files_updated = g_async_queue_new ();
+		files_updated = g_queue_new ();
 	}
 
 	if (!files_deleted) {
-		files_deleted = g_async_queue_new ();
+		files_deleted = g_queue_new ();
 	}
 
 	/* For the first monitor we get the type and find out if we
@@ -192,8 +192,6 @@
 void
 tracker_monitor_shutdown (void)
 {
-	gchar *str;
-
 	monitors_ignored = 0;
 	monitor_limit_warned = FALSE;
 	monitor_limit = 0;
@@ -204,29 +202,14 @@
 		files_queue_handlers_id = 0;
 	}
 
-        for (str = g_async_queue_try_pop (files_deleted);
-	     str;
-	     str = g_async_queue_try_pop (files_deleted)) {
-		g_free (str);
-	}
-
-	g_async_queue_unref (files_deleted);
+	g_queue_foreach (files_deleted, (GFunc) g_free, NULL);
+	g_queue_free (files_deleted);
 
-        for (str = g_async_queue_try_pop (files_updated);
-	     str;
-	     str = g_async_queue_try_pop (files_updated)) {
-		g_free (str);
-	}
-
-	g_async_queue_unref (files_updated);
-
-        for (str = g_async_queue_try_pop (files_created);
-	     str;
-	     str = g_async_queue_try_pop (files_created)) {
-		g_free (str);
-	}
+	g_queue_foreach (files_updated, (GFunc) g_free, NULL);
+	g_queue_free (files_updated);
 
-	g_async_queue_unref (files_created);
+	g_queue_foreach (files_created, (GFunc) g_free, NULL);
+	g_queue_free (files_created);
 
 	if (monitors) {
 		g_hash_table_unref (monitors);
@@ -278,8 +261,7 @@
 
 	/* First do the deleted queue */
 	g_debug ("Files deleted queue being processed...");
-	files = tracker_dbus_async_queue_to_strv (files_deleted,
-						  FILES_QUEUE_PROCESS_MAX);
+	files = tracker_dbus_queue_str_to_strv (files_deleted, FILES_QUEUE_PROCESS_MAX);
 	
 	if (g_strv_length (files) > 0) {
 		g_debug ("Files deleted queue processed, sending first %d to the indexer", 
@@ -293,8 +275,7 @@
 
 	/* Second do the created queue */
 	g_debug ("Files created queue being processed...");
-	files = tracker_dbus_async_queue_to_strv (files_created,
-						  FILES_QUEUE_PROCESS_MAX);
+	files = tracker_dbus_queue_str_to_strv (files_created, FILES_QUEUE_PROCESS_MAX);
 	if (g_strv_length (files) > 0) {
 		g_debug ("Files created queue processed, sending first %d to the indexer", 
 			 g_strv_length (files));
@@ -307,8 +288,7 @@
 
 	/* Second do the created queue */
 	g_debug ("Files updated queue being processed...");
-	files = tracker_dbus_async_queue_to_strv (files_updated,
-						  FILES_QUEUE_PROCESS_MAX);
+	files = tracker_dbus_queue_str_to_strv (files_updated, FILES_QUEUE_PROCESS_MAX);
 	
 	if (g_strv_length (files) > 0) {
 		g_debug ("Files updated queue processed, sending first %d to the indexer", 
@@ -327,9 +307,9 @@
 	DBusGProxy *proxy;
 	gint        items_to_process = 0;
 
-	items_to_process += g_async_queue_length (files_created);
-	items_to_process += g_async_queue_length (files_updated);
-	items_to_process += g_async_queue_length (files_deleted);
+	items_to_process += g_queue_get_length (files_created);
+	items_to_process += g_queue_get_length (files_updated);
+	items_to_process += g_queue_get_length (files_deleted);
 
 	if (items_to_process < 1) {
 		g_debug ("All queues are empty... nothing to do");
@@ -410,17 +390,17 @@
 	case G_FILE_MONITOR_EVENT_CHANGED:
 	case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
 	case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
-		g_async_queue_push (files_updated, str1);
+		g_queue_push_tail (files_updated, str1);
 		file_queue_handlers_set_up ();
 		break;
 
 	case G_FILE_MONITOR_EVENT_DELETED:
-		g_async_queue_push (files_deleted, str1);
+		g_queue_push_tail (files_deleted, str1);
 		file_queue_handlers_set_up ();
 		break;
 
 	case G_FILE_MONITOR_EVENT_CREATED:
-		g_async_queue_push (files_created, str1);
+		g_queue_push_tail (files_created, str1);
 		file_queue_handlers_set_up ();
 		break;
 

Modified: branches/indexer-split/tests/libtracker-common/tracker-dbus-test.c
==============================================================================
--- branches/indexer-split/tests/libtracker-common/tracker-dbus-test.c	(original)
+++ branches/indexer-split/tests/libtracker-common/tracker-dbus-test.c	Wed Jul  2 14:28:28 2008
@@ -65,28 +65,28 @@
 static void
 async_queue_to_strv (gboolean utf8)
 {
-        GAsyncQueue *queue;
+        GQueue *queue;
         gint i;
         gchar **queue_as_strv;
         gint strings = 5;
 
-        queue = g_async_queue_new ();
+        queue = g_queue_new ();
 
         for (i = 0; i < strings; i++) {
                 if (utf8) {
-                        g_async_queue_push (queue, g_strdup_printf ("%d", i));
+                        g_queue_push_tail (queue, g_strdup_printf ("%d", i));
                 } else {
-                        g_async_queue_push (queue, g_strdup (tracker_test_helpers_get_nonutf8 ()));
+                        g_queue_push_tail (queue, g_strdup (tracker_test_helpers_get_nonutf8 ()));
                 }
         }
-        g_assert_cmpint (g_async_queue_length (queue), ==, strings);
+        g_assert_cmpint (g_queue_get_length (queue), ==, strings);
 
-        queue_as_strv = tracker_dbus_async_queue_to_strv (queue, g_async_queue_length (queue));
+        queue_as_strv = tracker_dbus_queue_str_to_strv (queue, g_queue_get_length (queue));
 
         g_assert_cmpint (g_strv_length (queue_as_strv), ==, (utf8 ? strings : 0));
 
         // Queue empty by tracker_dbus_async_queue_to_strv
-        g_async_queue_unref (queue);
+        g_queue_free (queue);
         g_strfreev (queue_as_strv);
 
 }



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