gvfs r1336 - in trunk: . common



Author: alexl
Date: Fri Feb 22 14:44:39 2008
New Revision: 1336
URL: http://svn.gnome.org/viewvc/gvfs?rev=1336&view=rev

Log:
2008-02-22  Alexander Larsson  <alexl redhat com>

        * common/gmounttracker.c:
	Unlock lock if returning early.



Modified:
   trunk/ChangeLog
   trunk/common/gmounttracker.c

Modified: trunk/common/gmounttracker.c
==============================================================================
--- trunk/common/gmounttracker.c	(original)
+++ trunk/common/gmounttracker.c	Fri Feb 22 14:44:39 2008
@@ -333,15 +333,21 @@
 g_mount_tracker_add_mount (GMountTracker *tracker,
 			   GMountInfo *info)
 {
-  g_mutex_lock (tracker->lock);
+  if (tracker->lock)
+    g_mutex_lock (tracker->lock);
   
   /* Don't add multiple times */
   if (g_mount_tracker_find (tracker, info))
-    return;
+    {
+      if (tracker->lock)
+	g_mutex_unlock (tracker->lock);
+      return;
+    }
 
   tracker->mounts = g_list_prepend (tracker->mounts, g_mount_info_ref (info));
 
-  g_mutex_unlock (tracker->lock);
+  if (tracker->lock)
+    g_mutex_unlock (tracker->lock);
   
   g_signal_emit (tracker, signals[MOUNTED], 0, info);
 }
@@ -353,20 +359,25 @@
   GList *l;
   GMountInfo *old_info;
 
-  g_mutex_lock (tracker->lock);
-  
+  if (tracker->lock)
+    g_mutex_lock (tracker->lock);
   
   l = g_mount_tracker_find (tracker, info);
   
   /* Don't remove multiple times */
   if (l == NULL)
-    return;
+    {
+      if (tracker->lock)
+	g_mutex_unlock (tracker->lock);
+      return;
+    }
 
   old_info = l->data;
   
   tracker->mounts = g_list_delete_link (tracker->mounts, l);
   
-  g_mutex_unlock (tracker->lock);
+  if (tracker->lock)
+    g_mutex_unlock (tracker->lock);
 
   g_signal_emit (tracker, signals[UNMOUNTED], 0, old_info);
   g_mount_info_unref (old_info);



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