diff options
author | Michael Zucci <zucchi@src.gnome.org> | 2001-10-20 04:32:22 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-10-20 04:32:22 +0800 |
commit | c8b407def5e787684b77c2637c2e9d2250cd9b55 (patch) | |
tree | 7bb35d062512240e003a11215aaff352b2445c5b | |
parent | 7d40e47054c9c547c6bf808d616601e848e7fe4d (diff) | |
download | gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar.gz gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar.bz2 gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar.lz gsoc2013-evolution-c8b407def5e787684b77c2637c2e9d2250cd9b55.tar.xz 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
-rw-r--r-- | camel/ChangeLog | 3 | ||||
-rw-r--r-- | camel/camel-vee-folder.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index fa9f43eaf3..43166e7fe0 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -21,6 +21,9 @@ (folder_changed_change): " (folder_changed_change_uid): Also check folder_unmatched for changed uid's so we properly update/propagate unmatched changes. + (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. 2001-10-18 Jeffrey Stedfast <fejj@ximian.com> 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 |