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(); }