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

Unified Diff: third_party/mojo/src/mojo/edk/system/awakable_list.cc

Issue 1676913002: [mojo] Delete third_party/mojo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: let's try that again Created 4 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: third_party/mojo/src/mojo/edk/system/awakable_list.cc
diff --git a/third_party/mojo/src/mojo/edk/system/awakable_list.cc b/third_party/mojo/src/mojo/edk/system/awakable_list.cc
deleted file mode 100644
index f20e88a6e641e5e318eb3d142e9e788d21032c86..0000000000000000000000000000000000000000
--- a/third_party/mojo/src/mojo/edk/system/awakable_list.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "third_party/mojo/src/mojo/edk/system/awakable_list.h"
-
-#include <algorithm>
-
-#include "base/logging.h"
-#include "third_party/mojo/src/mojo/edk/system/awakable.h"
-#include "third_party/mojo/src/mojo/edk/system/handle_signals_state.h"
-
-namespace mojo {
-namespace system {
-
-AwakableList::AwakableList() {
-}
-
-AwakableList::~AwakableList() {
- DCHECK(awakables_.empty());
-}
-
-void AwakableList::AwakeForStateChange(const HandleSignalsState& state) {
- // Instead of deleting elements in-place, swap them with the last element and
- // erase the elements from the end.
- auto last = awakables_.end();
- for (AwakeInfoList::iterator it = awakables_.begin(); it != last;) {
- bool keep = true;
- if (state.satisfies(it->signals))
- keep = it->awakable->Awake(MOJO_RESULT_OK, it->context);
- else if (!state.can_satisfy(it->signals))
- keep = it->awakable->Awake(MOJO_RESULT_FAILED_PRECONDITION, it->context);
-
- if (!keep) {
- --last;
- std::swap(*it, *last);
- } else {
- ++it;
- }
- }
- awakables_.erase(last, awakables_.end());
-}
-
-void AwakableList::CancelAll() {
- for (AwakeInfoList::iterator it = awakables_.begin(); it != awakables_.end();
- ++it) {
- it->awakable->Awake(MOJO_RESULT_CANCELLED, it->context);
- }
- awakables_.clear();
-}
-
-void AwakableList::Add(Awakable* awakable,
- MojoHandleSignals signals,
- uintptr_t context) {
- awakables_.push_back(AwakeInfo(awakable, signals, context));
-}
-
-void AwakableList::Remove(Awakable* awakable) {
- // We allow a thread to wait on the same handle multiple times simultaneously,
- // so we need to scan the entire list and remove all occurrences of |waiter|.
- auto last = awakables_.end();
- for (AwakeInfoList::iterator it = awakables_.begin(); it != last;) {
- if (it->awakable == awakable) {
- --last;
- std::swap(*it, *last);
- } else {
- ++it;
- }
- }
- awakables_.erase(last, awakables_.end());
-}
-
-} // namespace system
-} // namespace mojo
« no previous file with comments | « third_party/mojo/src/mojo/edk/system/awakable_list.h ('k') | third_party/mojo/src/mojo/edk/system/awakable_list_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698