Author: anthm Date: Sat Apr 7 17:23:01 2007 New Revision: 4887 Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Log: update Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c ============================================================================== --- freeswitch/trunk/libs/libdingaling/src/libdingaling.c (original) +++ freeswitch/trunk/libs/libdingaling/src/libdingaling.c Sat Apr 7 17:23:01 2007 @@ -1495,7 +1495,10 @@ 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_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(); Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Sat Apr 7 17:23:01 2007 @@ -1928,6 +1928,7 @@ break; } } + if (globals.init) { ldl_global_destroy(); }