assert(interval != 0);
- while (zap_test_flag(zchan, ZAP_CHANNEL_INTHREAD)) {
+ while (zap_running() && zap_test_flag(zchan, ZAP_CHANNEL_INTHREAD)) {
zap_wait_flag_t flags = ZAP_READ;
zap_size_t dlen = 0;
if (zap_test_flag(zchan, ZAP_CHANNEL_CONFIGURED)) {
+ while (zap_test_flag(zchan, ZAP_CHANNEL_INTHREAD)) {
+ zap_log(ZAP_LOG_INFO, "Waiting for thread to exit on channel %u:%u\n", zchan->span_id, zchan->chan_id);
+ zap_sleep(500);
+ }
+
zap_buffer_destroy(&zchan->digit_buffer);
zap_buffer_destroy(&zchan->dtmf_buffer);
zap_buffer_destroy(&zchan->fsk_buffer);
{
unsigned int i,j;
time_end();
-
+
+ globals.running = 0;
zap_span_close_all();
- globals.running = 0;
zap_sleep(1000);
for(i = 1; i <= globals.span_index; i++) {