Author: jannis
Date: 2007-02-06 19:50:55 +0000 (Tue, 06 Feb 2007)
New Revision: 24869
Modified:
libfrap/trunk/libfrap/menu/ChangeLog
libfrap/trunk/libfrap/menu/frap-menu-item-cache.c
Log:
* frap-menu-item-cache.c: Also acquire mutex lock in
frap_menu_item_cache_foreach() as the item cache hash table could
be modified by other threads during this call otherwise.
Modified: libfrap/trunk/libfrap/menu/ChangeLog
===================================================================
--- libfrap/trunk/libfrap/menu/ChangeLog 2007-02-06 14:00:51 UTC (rev
24868)
+++ libfrap/trunk/libfrap/menu/ChangeLog 2007-02-06 19:50:55 UTC (rev
24869)
@@ -1,5 +1,11 @@
2007-02-06 Jannis Pohlmann <[EMAIL PROTECTED]>
+ * frap-menu-item-cache.c: Also acquire mutex lock in
+ frap_menu_item_cache_foreach() as the item cache hash table could
+ be modified by other threads during this call otherwise.
+
+2007-02-06 Jannis Pohlmann <[EMAIL PROTECTED]>
+
* frap-menu-item-cache.c: Add GMutex variable to the item cache and
lock the item cache in frap_menu_item_cache_lookup() which is the
only public function where the contents of the item cache may be
Modified: libfrap/trunk/libfrap/menu/frap-menu-item-cache.c
===================================================================
--- libfrap/trunk/libfrap/menu/frap-menu-item-cache.c 2007-02-06 14:00:51 UTC
(rev 24868)
+++ libfrap/trunk/libfrap/menu/frap-menu-item-cache.c 2007-02-06 19:50:55 UTC
(rev 24869)
@@ -341,7 +341,14 @@
gpointer user_data)
{
g_return_if_fail (FRAP_IS_MENU_ITEM_CACHE (cache));
+
+ /* Acquire lock on the item cache */
+ g_mutex_lock (cache->priv->lock);
+
g_hash_table_foreach (cache->priv->items, func, user_data);
+
+ /* Release item cache lock */
+ g_mutex_lock (cache->priv->lock);
}
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits