]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
ftmod_libpri: Always try to close the d-channel to avoid a possible deadlock in case...
authorStefan Knoblich <s.knoblich@axsentis.de>
Wed, 31 Aug 2011 23:45:06 +0000 (01:45 +0200)
committerStefan Knoblich <s.knoblich@axsentis.de>
Wed, 31 Aug 2011 23:48:03 +0000 (01:48 +0200)
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c

index a379aeda9c9ffec54b19e192460c53c891b3679f..f31eafd42e5ed6abcee17d27e81f5152325f6b65 100644 (file)
@@ -1938,6 +1938,14 @@ static void *ftdm_libpri_run(ftdm_thread_t *me, void *obj)
                ftdm_sleep(5000);
        }
 out:
+       /* close d-channel, if set */
+       if (isdn_data->dchan) {
+               if (ftdm_channel_close(&isdn_data->dchan) != FTDM_SUCCESS) {
+                       ftdm_log(FTDM_LOG_ERROR, "Failed to close D-Channel %d:%d\n",
+                               ftdm_channel_get_span_id(isdn_data->dchan), ftdm_channel_get_id(isdn_data->dchan));
+               }
+       }
+
        ftdm_log(FTDM_LOG_DEBUG, "PRI thread ended on span %d\n", ftdm_span_get_id(span));
 
        ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD);