Revision
17380
Author
anthm
Date
2010-04-23 12:14:37 -0500 (Fri, 23 Apr 2010)

Log Message

add sanity check to launch threads that catch hangup and are not in a thread to make sure they clean up

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_channel.c (17379 => 17380)


--- freeswitch/trunk/src/switch_channel.c	2010-04-23 17:16:55 UTC (rev 17379)
+++ freeswitch/trunk/src/switch_channel.c	2010-04-23 17:14:37 UTC (rev 17380)
@@ -2108,6 +2108,11 @@
 		switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, switch_channel_get_uuid(channel), SWITCH_LOG_NOTICE, "Hangup %s [%s] [%s]\n",
 						  channel->name, state_names[last_state], switch_channel_cause2str(channel->hangup_cause));
 
+
+		if (!switch_core_session_running(channel->session)) {
+			switch_core_session_thread_launch(channel->session);
+		}
+
 		if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_HANGUP) == SWITCH_STATUS_SUCCESS) {
 			switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Hangup-Cause", switch_channel_cause2str(hangup_cause));
 			switch_channel_event_set_data(channel, event);