From 3d3ee88d4c585617c7c72dba9580cd63995d23db Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 18 Dec 2007 18:14:00 +0000 Subject: [PATCH] wrong fix to avoid seg. The threadstate needs to be moved to the private so that it's not dependent on the switch_core_session_t like in python. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6870 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_cpp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/switch_cpp.cpp b/src/switch_cpp.cpp index 110518fcc9..5b6739f41c 100644 --- a/src/switch_cpp.cpp +++ b/src/switch_cpp.cpp @@ -326,7 +326,7 @@ int CoreSession::originate(CoreSession *a_leg_session, // no valid channel. since the threadstate is stored in the channel, and there // is none, if we try to call begin_alllow_threads it will fail miserably. // use the 'a leg session' to do the thread swapping stuff. - a_leg_session->begin_allow_threads(); + if (a_leg_session) a_leg_session->begin_allow_threads(); if (switch_core_new_memory_pool(&pool) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "OH OH no pool\n"); @@ -347,11 +347,11 @@ int CoreSession::originate(CoreSession *a_leg_session, } - a_leg_session->end_allow_threads(); + if (a_leg_session) a_leg_session->end_allow_threads(); return SWITCH_STATUS_SUCCESS; failed: - a_leg_session->end_allow_threads(); + if (a_leg_session) a_leg_session->end_allow_threads(); return SWITCH_STATUS_FALSE; }