tracker r1422 - in branches/indexer-split: . src/libtracker-db



Author: pvanhoof
Date: Wed May 14 10:33:48 2008
New Revision: 1422
URL: http://svn.gnome.org/viewvc/tracker?rev=1422&view=rev

Log:
2008-05-14  Philip Van Hoof  <pvanhoof gnome org>

        * src/libtracker-db/tracker-db-interface-sqlite.c: No reply queries
        must not immediately return for their arguments might otherwise be
        freed by the caller context, before the GThreadPool thread reached
        reading the argument.



Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c

Modified: branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c	(original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c	Wed May 14 10:33:48 2008
@@ -670,10 +670,13 @@
 				     args, 
 				     error);
 
-	task->nowait = TRUE;
-
 	g_thread_pool_push (priv->pool, task, NULL);
 
+	wait_for_db_query_task (task);
+	if (task->retval)
+		g_object_unref (task->retval);
+	free_db_query_task (task);
+
 	return;
 }
 
@@ -750,9 +753,12 @@
 				     NULL, 
 				     error);
 
-	task->nowait = TRUE;
-
 	g_thread_pool_push (priv->pool, task, NULL);
+
+	wait_for_db_query_task (task);
+	if (task->retval)
+		g_object_unref (task->retval);
+	free_db_query_task (task);
 }
 
 static void



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