[evolution-data-server] Camel MH provider can deadlock on folder creation
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Camel MH provider can deadlock on folder creation
- Date: Mon, 13 May 2013 17:11:37 +0000 (UTC)
commit 50fd40d69d9b18cbb4930ae6d1407c9b66fd3996
Author: Milan Crha <mcrha redhat com>
Date: Mon May 13 19:08:03 2013 +0200
Camel MH provider can deadlock on folder creation
This was reported downstream as [1]. The MH provider can deadlock
during folder creation, because it tries to get a new CamelFolder
instance for a folder it is currently creating, which makes
the CamelObjectBag (of CamelFolder-s) wait for itself.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=854017
camel/providers/local/camel-mh-store.c | 8 --------
1 files changed, 0 insertions(+), 8 deletions(-)
---
diff --git a/camel/providers/local/camel-mh-store.c b/camel/providers/local/camel-mh-store.c
index d0c8e8a..dbf0054 100644
--- a/camel/providers/local/camel-mh-store.c
+++ b/camel/providers/local/camel-mh-store.c
@@ -188,18 +188,10 @@ fill_fi (CamelStore *store,
local_store = CAMEL_LOCAL_STORE (store);
folder = camel_object_bag_peek (store->folders, fi->full_name);
- if (folder == NULL
- && (flags & CAMEL_STORE_FOLDER_INFO_FAST) == 0)
- folder = camel_store_get_folder_sync (
- store, fi->full_name, 0, cancellable, NULL);
-
if (folder != NULL) {
- if ((flags & CAMEL_STORE_FOLDER_INFO_FAST) == 0)
- camel_folder_refresh_info_sync (folder, cancellable, NULL);
fi->unread = camel_folder_get_unread_message_count (folder);
fi->total = camel_folder_get_message_count (folder);
g_object_unref (folder);
-
} else {
CamelLocalSettings *local_settings;
CamelSettings *settings;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]