[tracker] libtracker-data: Switch back to g_static_private_free



commit 8a11346b1bc10b02302c3b13495ebeffda9cb0a0
Author: Jürg Billeter <j bitron ch>
Date:   Thu Feb 10 14:07:35 2011 +0100

    libtracker-data: Switch back to g_static_private_free
    
    We really need to make sure to close all interfaces on shutdown, we
    cannot rely on TLS cleanup. This can cause critical warnings on
    shutdown until g_static_private_free has been fixed in GLib.

 src/libtracker-data/tracker-db-manager.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
index fc7a178..c931cd4 100644
--- a/src/libtracker-data/tracker-db-manager.c
+++ b/src/libtracker-data/tracker-db-manager.c
@@ -1251,10 +1251,9 @@ tracker_db_manager_shutdown (void)
 		global_iface = NULL;
 	}
 
-	/* shutdown db interface in current thread
-	 * interfaces in other threads are shut down by TLS cleanup
-	 * do not use g_static_private_free as it does not appear to be thread-safe */
-	g_static_private_set (&interface_data_key, NULL, NULL);
+	/* shutdown db interface in all threads
+	 * this can currently cause critical warnings due to a bug in g_static_private_free */
+	g_static_private_free (&interface_data_key);
 
 	/* Since we don't reference this enum anywhere, we do
 	 * it here to make sure it exists when we call



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