]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Bugfix: Destroy schannel only *after* cleanup of its contents is done
authorLuke Dashjr <luke@openmethods.com>
Thu, 17 Mar 2011 20:31:07 +0000 (15:31 -0500)
committerLuke Dashjr <luke@openmethods.com>
Thu, 17 Mar 2011 20:31:07 +0000 (15:31 -0500)
src/mod/asr_tts/mod_unimrcp/mod_unimrcp.c

index b3679cf516894b1d54a8ac8261f0448479c3aab6..63264a004906bfd173a5707ddf9d774ffae03a9d 100644 (file)
@@ -3120,12 +3120,12 @@ static switch_status_t recog_asr_close(switch_asr_handle_t *ah, switch_asr_flag_
        speech_channel_t *schannel = (speech_channel_t *) ah->private_info;
        recognizer_data_t *r = (recognizer_data_t *) schannel->data;
        speech_channel_stop(schannel);
-       speech_channel_destroy(schannel);
        switch_core_hash_destroy(&r->grammars);
        switch_core_hash_destroy(&r->enabled_grammars);
        if (r->dtmf_generator) {
                mpf_dtmf_generator_destroy(r->dtmf_generator);
        }
+       speech_channel_destroy(schannel);
 
        /* this lets FreeSWITCH's speech_thread know the handle is closed */
        switch_set_flag(ah, SWITCH_ASR_FLAG_CLOSED);