[geary/wip/improve-claiming-folder-session: 5/9] Ensure IMAP client session is released on error claiming folder session
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/improve-claiming-folder-session: 5/9] Ensure IMAP client session is released on error claiming folder session
- Date: Mon, 19 Nov 2018 13:35:37 +0000 (UTC)
commit ab66ef948a28400584e8d2853bf8d9f07c023d70
Author: Michael Gratton <mike vee net>
Date: Tue Nov 13 15:50:35 2018 +1100
Ensure IMAP client session is released on error claiming folder session
src/engine/imap-engine/imap-engine-generic-account.vala | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/src/engine/imap-engine/imap-engine-generic-account.vala
b/src/engine/imap-engine/imap-engine-generic-account.vala
index 273fcf3e..f21e6c2e 100644
--- a/src/engine/imap-engine/imap-engine-generic-account.vala
+++ b/src/engine/imap-engine/imap-engine-generic-account.vala
@@ -365,6 +365,17 @@ private abstract class Geary.ImapEngine.GenericAccount : Geary.Account {
account.close();
+ Imap.FolderSession? folder_session = null;
+ if (folder_err == null) {
+ try {
+ folder_session = yield new Imap.FolderSession(
+ this.information.id, client, folder, cancellable
+ );
+ } catch (Error err) {
+ folder_err = err;
+ }
+ }
+
if (folder_err != null) {
try {
yield this.session_pool.release_session_async(client);
@@ -375,9 +386,7 @@ private abstract class Geary.ImapEngine.GenericAccount : Geary.Account {
throw folder_err;
}
- return yield new Imap.FolderSession(
- this.information.id, client, folder, cancellable
- );
+ return folder_session;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]