diff options
author | ckehoe <ckehoe@chromium.org> | 2015-05-20 17:07:28 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-21 00:08:43 +0000 |
commit | 1110874c7c9ac2d15675ab5edcd5417953722971 (patch) | |
tree | 9f9753d2ddbaa0e60a997645691c8dd5c783b680 /components/copresence | |
parent | bf94627aa3bb2e6d4577dbf27288f15d90dcf68c (diff) | |
download | chromium_src-1110874c7c9ac2d15675ab5edcd5417953722971.zip chromium_src-1110874c7c9ac2d15675ab5edcd5417953722971.tar.gz chromium_src-1110874c7c9ac2d15675ab5edcd5417953722971.tar.bz2 |
Fixing race condition in AudioDirectiveHandler
BUG=489442
Review URL: https://codereview.chromium.org/1151603003
Cr-Commit-Position: refs/heads/master@{#330855}
Diffstat (limited to 'components/copresence')
-rw-r--r-- | components/copresence/handlers/audio/audio_directive_handler_impl.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/components/copresence/handlers/audio/audio_directive_handler_impl.cc b/components/copresence/handlers/audio/audio_directive_handler_impl.cc index 09a745b..9b41629 100644 --- a/components/copresence/handlers/audio/audio_directive_handler_impl.cc +++ b/components/copresence/handlers/audio/audio_directive_handler_impl.cc @@ -30,12 +30,14 @@ namespace { base::TimeTicks GetEarliestEventTime(AudioDirectiveList* list, base::TimeTicks event_time) { - if (!list->GetActiveDirective()) + scoped_ptr<AudioDirective> active_directive = list->GetActiveDirective(); + + if (!active_directive) return event_time; + if (event_time.is_null()) + return active_directive->end_time; - return event_time.is_null() ? - list->GetActiveDirective()->end_time : - std::min(list->GetActiveDirective()->end_time, event_time); + return std::min(active_directive->end_time, event_time); } void ConvertDirectives(const std::vector<AudioDirective>& in_directives, |