Author: brian Date: Sat Jul 12 11:27:34 2008 New Revision: 9002 Modified: freeswitch/trunk/src/switch_ivr_async.c Log: make sure the bug is read before we start to read from it otherwise we segfault Modified: freeswitch/trunk/src/switch_ivr_async.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_async.c (original) +++ freeswitch/trunk/src/switch_ivr_async.c Sat Jul 12 11:27:34 2008 @@ -1637,9 +1637,11 @@ return SWITCH_FALSE; } if (switch_core_asr_check_results(sth->ah, &flags) == SWITCH_STATUS_SUCCESS) { - switch_mutex_lock(sth->mutex); - switch_thread_cond_signal(sth->cond); - switch_mutex_unlock(sth->mutex); + if (sth->mutex && sth->cond && sth->ready) { + switch_mutex_lock(sth->mutex); + switch_thread_cond_signal(sth->cond); + switch_mutex_unlock(sth->mutex); + } } } }