FS-10369: [freeswitch-core] Preserve original progress time when getting more than one

This commit is contained in:
Anthony Minessale 2017-06-06 09:08:09 -05:00
parent a09c9cfa7a
commit ff16279628
1 changed files with 3 additions and 1 deletions

View File

@ -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))) { if ((other_session = switch_core_session_locate(channel->caller_profile->originator_caller_profile->uuid))) {
switch_channel_t *other_channel; switch_channel_t *other_channel;
other_channel = switch_core_session_get_channel(other_session); 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; other_channel->caller_profile->times->progress = channel->caller_profile->times->progress;
} }
switch_mutex_unlock(other_channel->profile_mutex);
switch_core_session_rwunlock(other_session); switch_core_session_rwunlock(other_session);
} }
channel->caller_profile->originator_caller_profile->times->progress = channel->caller_profile->times->progress; channel->caller_profile->originator_caller_profile->times->progress = channel->caller_profile->times->progress;