aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog3
-rw-r--r--camel/camel-vee-folder.c3
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