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

Reply via email to