[Asterisk-code-review] app voicemail: IMAP logout on reload/unload (asterisk[13])

Alexei Gradinari asteriskteam at digium.com
Thu Jun 15 13:50:39 CDT 2017


Alexei Gradinari has uploaded this change for review. ( https://gerrit.asterisk.org/5852


Change subject: app_voicemail: IMAP logout on reload/unload
......................................................................

app_voicemail: IMAP logout on reload/unload

Closing IMAP connection on module reload or unload.

ASTERISK-24052 #close

Change-Id: I2a40182aa9ef249fa6865d33570430e9ada68525
---
M apps/app_voicemail.c
1 file changed, 20 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/52/5852/1

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 0c0e2ba..e4bdfbb 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -13061,6 +13061,18 @@
 	vmstate_delete(vms);
 }
 
+static void imap_close_subscribed_mailboxes(void)
+{
+	struct mwi_sub *mwi_sub;
+
+	AST_RWLIST_RDLOCK(&mwi_subs);
+	AST_RWLIST_TRAVERSE(&mwi_subs, mwi_sub, entry) {
+		if (!ast_strlen_zero(mwi_sub->mailbox)) {
+			imap_logout(mwi_sub->mailbox);
+		}
+	}
+	AST_RWLIST_UNLOCK(&mwi_subs);
+}
 #endif
 
 static int handle_unsubscribe(void *datap)
@@ -13514,7 +13526,11 @@
 	strcpy(listen_control_restart_key, DEFAULT_LISTEN_CONTROL_RESTART_KEY);
 	strcpy(listen_control_stop_key, DEFAULT_LISTEN_CONTROL_STOP_KEY);
 
-	/* Free all the users structure */	
+#ifdef IMAP_STORAGE
+	imap_close_subscribed_mailboxes();
+#endif
+
+	/* Free all the users structure */
 	free_vm_users();
 
 	/* Free all the zones structure */
@@ -14908,6 +14924,9 @@
 	ast_unload_realtime("voicemail");
 	ast_unload_realtime("voicemail_data");
 
+#ifdef IMAP_STORAGE
+	imap_close_subscribed_mailboxes();
+#endif
 	free_vm_users();
 	free_vm_zones();
 	return res;

-- 
To view, visit https://gerrit.asterisk.org/5852
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a40182aa9ef249fa6865d33570430e9ada68525
Gerrit-Change-Number: 5852
Gerrit-PatchSet: 1
Gerrit-Owner: Alexei Gradinari <alex2grad at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20170615/f0527660/attachment.html>


More information about the asterisk-code-review mailing list