[tracker] libtracker-data: Fix crash on concurrent use of the same query



commit f20051a3342e99ceb96bda10db3698e393ca3548
Author: Jürg Billeter <j bitron ch>
Date:   Thu Sep 23 14:46:04 2010 +0200

    libtracker-data: Fix crash on concurrent use of the same query

 src/libtracker-data/tracker-db-interface-sqlite.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c b/src/libtracker-data/tracker-db-interface-sqlite.c
index 7529281..ea5c900 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -871,8 +871,9 @@ tracker_db_interface_create_statement (TrackerDBInterface           *db_interfac
 		stmt = g_hash_table_lookup (db_interface->dynamic_statements, full_query);
 
 		if (stmt && stmt->stmt_is_sunk) {
-			/* prepared statement is still in use, create new one */
+			/* prepared statement is still in use, create new uncached one */
 			stmt = NULL;
+			cache_type = TRACKER_DB_STATEMENT_CACHE_TYPE_NONE;
 		}
 
 		if (cache_type == TRACKER_DB_STATEMENT_CACHE_TYPE_UPDATE) {



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