From 8f3249fce5503cf90dc4d1d46b0144940564635a Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthony.minessale@gmail.com>
Date: Sat, 7 Apr 2007 21:23:01 +0000
Subject: [PATCH] update

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4887 d0543943-73ff-0310-b7d9-9358b9ac24b2
---
 libs/libdingaling/src/libdingaling.c            | 9 ++++++---
 src/mod/endpoints/mod_dingaling/mod_dingaling.c | 1 +
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/libs/libdingaling/src/libdingaling.c b/libs/libdingaling/src/libdingaling.c
index 22056868ab..0e2ab66df6 100644
--- a/libs/libdingaling/src/libdingaling.c
+++ b/libs/libdingaling/src/libdingaling.c
@@ -1495,7 +1495,10 @@ static void xmpp_connect(ldl_handle_t *handle, char *jabber_id, char *pass)
 		handle->state = CS_NEW;
 	}
 	ldl_clear_flag_locked(handle, LDL_FLAG_RUNNING);
-
+	if (!ldl_test_flag(handle, LDL_FLAG_TLS)) {
+		ldl_flush_queue(handle, 1);
+	}
+	
 	while(ldl_test_flag(handle, LDL_FLAG_QUEUE_RUNNING)) {
 		microsleep(100);
 	}
@@ -2077,10 +2080,10 @@ ldl_status ldl_global_init(int debug)
 
 ldl_status ldl_global_destroy(void)
 {
-	if (ldl_test_flag(&globals, LDL_FLAG_INIT)) {
+	if (!ldl_test_flag(&globals, LDL_FLAG_INIT)) {
 		return LDL_STATUS_FALSE;
 	}
-
+	
 	apr_pool_destroy(globals.memory_pool);
 	ldl_clear_flag(&globals, LDL_FLAG_INIT);
 	apr_terminate();
diff --git a/src/mod/endpoints/mod_dingaling/mod_dingaling.c b/src/mod/endpoints/mod_dingaling/mod_dingaling.c
index 78f4614bcd..d55699081e 100644
--- a/src/mod/endpoints/mod_dingaling/mod_dingaling.c
+++ b/src/mod/endpoints/mod_dingaling/mod_dingaling.c
@@ -1928,6 +1928,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
 				break;
 			}
 		}
+
 		if (globals.init) {
 			ldl_global_destroy();
 		}