mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-17 17:22:21 +00:00
don't segfault after starting sofia, upon xml_open_config lookup failure for the profile from launch_sofia_worker_thread
This commit is contained in:
parent
187fe4e14e
commit
ec27618fc8
@ -2252,7 +2252,11 @@ void *SWITCH_THREAD_FUNC sofia_profile_thread_run(switch_thread_t *thread, void
|
|||||||
sofia_clear_pflag_locked(profile, PFLAG_SHUTDOWN);
|
sofia_clear_pflag_locked(profile, PFLAG_SHUTDOWN);
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Waiting for worker thread\n");
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Waiting for worker thread\n");
|
||||||
|
|
||||||
|
if ( worker_thread ) {
|
||||||
switch_thread_join(&st, worker_thread);
|
switch_thread_join(&st, worker_thread);
|
||||||
|
} else {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "ERROR: Sofia worker thead failed to start\n");
|
||||||
|
}
|
||||||
|
|
||||||
sanity = 4;
|
sanity = 4;
|
||||||
while (profile->inuse) {
|
while (profile->inuse) {
|
||||||
|
@ -1169,6 +1169,11 @@ SWITCH_DECLARE(switch_status_t) switch_thread_exit(switch_thread_t *thd, switch_
|
|||||||
*/
|
*/
|
||||||
SWITCH_DECLARE(switch_status_t) switch_thread_join(switch_status_t *retval, switch_thread_t *thd)
|
SWITCH_DECLARE(switch_status_t) switch_thread_join(switch_status_t *retval, switch_thread_t *thd)
|
||||||
{
|
{
|
||||||
|
if ( !thd ) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "ERROR: Attempting to join thread that does not exist\n");
|
||||||
|
return SWITCH_STATUS_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
return apr_thread_join((apr_status_t *) retval, (apr_thread_t *) thd);
|
return apr_thread_join((apr_status_t *) retval, (apr_thread_t *) thd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user