aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-vee-folder.c
diff options
context:
space:
mode:
authorMichael Zucci <zucchi@src.gnome.org>2001-10-20 04:32:22 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-10-20 04:32:22 +0800
commitc8b407def5e787684b77c2637c2e9d2250cd9b55 (patch)
tree7bb35d062512240e003a11215aaff352b2445c5b /camel/camel-vee-folder.c
parent7d40e47054c9c547c6bf808d616601e848e7fe4d (diff)
downloadgsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar.gz
gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar.zst
gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.zip
Fixes a deadlock. camel-vee-folder.c: (folder_changed_change): Ok, so dont
Fixes a deadlock. camel-vee-folder.c: (folder_changed_change): Ok, so dont hold the subfolder lock for the whole duration of the changed event, although we probably should, requires a recursive mutex. svn path=/trunk/; revision=13802
Diffstat (limited to 'camel/camel-vee-folder.c')
-rw-r--r--camel/camel-vee-folder.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c
index 17aba2fc88..283635da72 100644
--- a/camel/camel-vee-folder.c
+++ b/camel/camel-vee-folder.c
@@ -1270,6 +1270,7 @@ folder_changed_change(CamelSession *session, CamelSessionThreadMsg *msg)
CAMEL_VEE_FOLDER_UNLOCK(vf, subfolder_lock);
return;
}
+ CAMEL_VEE_FOLDER_UNLOCK(vf, subfolder_lock);
CAMEL_VEE_FOLDER_LOCK(vf, summary_lock);
CAMEL_VEE_FOLDER_LOCK(folder_unmatched, summary_lock);
@@ -1372,8 +1373,6 @@ folder_changed_change(CamelSession *session, CamelSessionThreadMsg *msg)
camel_object_trigger_event((CamelObject *)vf, "folder_changed", vf_changes);
camel_folder_change_info_free(vf_changes);
}
-
- CAMEL_VEE_FOLDER_UNLOCK(vf, subfolder_lock);
}
static void