From: Anthony Minessale Date: Tue, 6 Jun 2017 14:08:09 +0000 (-0500) Subject: FS-10369: [freeswitch-core] Preserve original progress time when getting more than one X-Git-Tag: v1.8.0~463 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff162796284ae3982e23c3aba1838755a72ab1b4;p=thirdparty%2Ffreeswitch.git FS-10369: [freeswitch-core] Preserve original progress time when getting more than one --- diff --git a/src/switch_channel.c b/src/switch_channel.c index 39f86d838c..4cbe5890c7 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -3331,9 +3331,11 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_ring_ready_value(swi if ((other_session = switch_core_session_locate(channel->caller_profile->originator_caller_profile->uuid))) { switch_channel_t *other_channel; other_channel = switch_core_session_get_channel(other_session); - if (other_channel->caller_profile) { + switch_mutex_lock(other_channel->profile_mutex); + if (other_channel->caller_profile && !other_channel->caller_profile->times->progress) { other_channel->caller_profile->times->progress = channel->caller_profile->times->progress; } + switch_mutex_unlock(other_channel->profile_mutex); switch_core_session_rwunlock(other_session); } channel->caller_profile->originator_caller_profile->times->progress = channel->caller_profile->times->progress;