Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: mojo/edk/system/waiter.cc

Issue 799113004: Update mojo sdk to rev 59145288bae55b0fce4276b017df6a1117bcf00f (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add mojo's ply to checklicenses whitelist Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/edk/system/waiter.h ('k') | mojo/edk/test/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/edk/system/waiter.h" 5 #include "mojo/edk/system/waiter.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 cv_.TimedWait(end_time - now_time); 75 cv_.TimedWait(end_time - now_time);
76 } while (!awoken_); 76 } while (!awoken_);
77 } 77 }
78 78
79 DCHECK_NE(awake_result_, MOJO_RESULT_INTERNAL); 79 DCHECK_NE(awake_result_, MOJO_RESULT_INTERNAL);
80 if (context) 80 if (context)
81 *context = static_cast<uint32_t>(awake_context_); 81 *context = static_cast<uint32_t>(awake_context_);
82 return awake_result_; 82 return awake_result_;
83 } 83 }
84 84
85 void Waiter::Awake(MojoResult result, uintptr_t context) { 85 bool Waiter::Awake(MojoResult result, uintptr_t context) {
86 base::AutoLock locker(lock_); 86 base::AutoLock locker(lock_);
87 87
88 if (awoken_) 88 if (awoken_)
89 return; 89 return true;
90 90
91 awoken_ = true; 91 awoken_ = true;
92 awake_result_ = result; 92 awake_result_ = result;
93 awake_context_ = context; 93 awake_context_ = context;
94 cv_.Signal(); 94 cv_.Signal();
95 // |cv_.Wait()|/|cv_.TimedWait()| will return after |lock_| is released. 95 // |cv_.Wait()|/|cv_.TimedWait()| will return after |lock_| is released.
96 return true;
96 } 97 }
97 98
98 } // namespace system 99 } // namespace system
99 } // namespace mojo 100 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/waiter.h ('k') | mojo/edk/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698