]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-4867 try patch
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 6 Dec 2012 18:43:00 +0000 (12:43 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 6 Dec 2012 18:43:00 +0000 (12:43 -0600)
src/switch_core_io.c
src/switch_ivr_async.c

index 8e99fcd47202505ff1f89359c6a19281b22affbb..ba4874d81fd965cfd783760209a583eff410959b 100644 (file)
@@ -151,10 +151,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
        
        for(i = 0; i < 2; i++) {
                if (session->dmachine[i] && !switch_channel_test_flag(session->channel, CF_BROADCAST)) {
-                       if (switch_channel_try_dtmf_lock(session->channel) == SWITCH_STATUS_SUCCESS) {
-                               switch_ivr_dmachine_ping(session->dmachine[i], NULL);
-                               switch_channel_dtmf_unlock(session->channel);
-                       }
+                       switch_ivr_dmachine_ping(session->dmachine[i], NULL);
                }
        }
        
index a9ebc4b352d95fa75392ecd6455e0fab4d56e96b..f301b118878bbeded73a57170f236ceb349f3a06 100644 (file)
@@ -426,7 +426,9 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_ping(switch_ivr_dmachine_t *
                is_timeout++;
        }
        
-       switch_mutex_lock(dmachine->mutex);
+       if (switch_mutex_trylock(dmachine->mutex) != SWITCH_STATUS_SUCCESS) {
+               return SWITCH_STATUS_SUCCESS;
+       }
 
        if (zstr(dmachine->digits) && !is_timeout) {
                r = SWITCH_STATUS_SUCCESS;