From 8dc5c89eb835563bf798dca52d2e8b8adb52fd7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Sat, 16 Nov 2024 15:30:36 -0500
Subject: [PATCH] Wrap each cleanup step in a separate try/catch in exit func.

Clean up as much as possible.
---
 exec/imapservice.js | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/exec/imapservice.js b/exec/imapservice.js
index 9fd9b0a7b0..00b65e7b05 100644
--- a/exec/imapservice.js
+++ b/exec/imapservice.js
@@ -1549,16 +1549,21 @@ function old_unlock_cfg()
 
 function exit_func()
 {
-	close_sub();
+	try {
+		close_sub();
+	}
+	catch(error) {}
 	if (locked_code !== undefined) {
-		log("At exit, "+locked_code+" is still locked.");
-		unlock_cfg(locked_code);
+		try {
+			log("At exit, "+locked_code+" is still locked.");
+			unlock_cfg(locked_code);
+		}
+		catch(error) {}
 	}
 	try {
 		save_cfg();
 	}
-	catch (error) {
-	}
+	catch (error) {}
 }
 
 function binify(seen)
-- 
GitLab