summaryrefslogtreecommitdiffstats
path: root/components/copresence
diff options
context:
space:
mode:
authorckehoe <ckehoe@chromium.org>2015-05-20 17:07:28 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-21 00:08:43 +0000
commit1110874c7c9ac2d15675ab5edcd5417953722971 (patch)
tree9f9753d2ddbaa0e60a997645691c8dd5c783b680 /components/copresence
parentbf94627aa3bb2e6d4577dbf27288f15d90dcf68c (diff)
downloadchromium_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.cc10
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,