summaryrefslogtreecommitdiffstats
path: root/mojo/edk/system/waiter_test_utils.h
diff options
context:
space:
mode:
authorblundell <blundell@chromium.org>2015-01-19 09:18:33 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-19 17:19:27 +0000
commit70fb54767b472a5edfb859e489beeeec7abdb0e4 (patch)
tree28e534ec774391a9f6571a1770e12a0d63ebf833 /mojo/edk/system/waiter_test_utils.h
parentba5f0233fa38f949e24f6274ba891fa652eab640 (diff)
downloadchromium_src-70fb54767b472a5edfb859e489beeeec7abdb0e4.zip
chromium_src-70fb54767b472a5edfb859e489beeeec7abdb0e4.tar.gz
chromium_src-70fb54767b472a5edfb859e489beeeec7abdb0e4.tar.bz2
Move //mojo/{public, edk} underneath //third_party
This CL move //mojo/public and //mojo/edk to live in the following locations: - //third_party/mojo/src/mojo/public - //third_party/mojo/src/mojo/edk It moves the related gypfiles from //mojo to //third_party/mojo and updates them as necessary to account for the file moves. It also updates clients of the mojo SDK and EDK targets in both GYP and GN. (Note that for GN, the mojo SDK and EDK build systems are maintained in the Mojo repo and designed to be flexible wrt the location of the SDK/EDK in a client repo, so no changes are needed. This CL does not update include paths to the code being moved to limit the number of moving parts, instead relying on the include_dirs that the SDK and EDK targets supply to their direct dependents to ensure that include paths continue to resolve correctly. NOPRESUBMIT=true Review URL: https://codereview.chromium.org/814543006 Cr-Commit-Position: refs/heads/master@{#312129}
Diffstat (limited to 'mojo/edk/system/waiter_test_utils.h')
-rw-r--r--mojo/edk/system/waiter_test_utils.h105
1 files changed, 0 insertions, 105 deletions
diff --git a/mojo/edk/system/waiter_test_utils.h b/mojo/edk/system/waiter_test_utils.h
deleted file mode 100644
index b11d78d..0000000
--- a/mojo/edk/system/waiter_test_utils.h
+++ /dev/null
@@ -1,105 +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.
-
-#ifndef MOJO_EDK_SYSTEM_WAITER_TEST_UTILS_H_
-#define MOJO_EDK_SYSTEM_WAITER_TEST_UTILS_H_
-
-#include <stdint.h>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/threading/simple_thread.h"
-#include "mojo/edk/system/dispatcher.h"
-#include "mojo/edk/system/handle_signals_state.h"
-#include "mojo/edk/system/waiter.h"
-#include "mojo/public/c/system/types.h"
-
-namespace mojo {
-namespace system {
-namespace test {
-
-// This is a very simple thread that has a |Waiter|, on which it waits
-// indefinitely (and records the result). It will create and initialize the
-// |Waiter| on creation, but the caller must start the thread with |Start()|. It
-// will join the thread on destruction.
-//
-// One usually uses it like:
-//
-// MojoResult result;
-// {
-// AwakableList awakable_list;
-// test::SimpleWaiterThread thread(&result);
-// awakable_list.Add(thread.waiter(), ...);
-// thread.Start();
-// ... some stuff to wake the waiter ...
-// awakable_list.Remove(thread.waiter());
-// } // Join |thread|.
-// EXPECT_EQ(..., result);
-//
-// There's a bit of unrealism in its use: In this sort of usage, calls such as
-// |Waiter::Init()|, |AddAwakable()|, and |RemoveAwakable()| are done in the
-// main (test) thread, not the waiter thread (as would actually happen in real
-// code). (We accept this unrealism for simplicity, since |AwakableList| is
-// thread-unsafe so making it more realistic would require adding nontrivial
-// synchronization machinery.)
-class SimpleWaiterThread : public base::SimpleThread {
- public:
- // For the duration of the lifetime of this object, |*result| belongs to it
- // (in the sense that it will write to it whenever it wants).
- SimpleWaiterThread(MojoResult* result, uint32_t* context);
- ~SimpleWaiterThread() override; // Joins the thread.
-
- Waiter* waiter() { return &waiter_; }
-
- private:
- void Run() override;
-
- MojoResult* const result_;
- uint32_t* const context_;
- Waiter waiter_;
-
- DISALLOW_COPY_AND_ASSIGN(SimpleWaiterThread);
-};
-
-// This is a more complex and realistic thread that has a |Waiter|, on which it
-// waits for the given deadline (with the given flags). Unlike
-// |SimpleWaiterThread|, it requires the machinery of |Dispatcher|.
-class WaiterThread : public base::SimpleThread {
- public:
- // Note: |*did_wait_out|, |*result_out|, |*context_out| and
- // |*signals_state_out| "belong" to this object (i.e., may be modified by, on
- // some other thread) while it's alive.
- WaiterThread(scoped_refptr<Dispatcher> dispatcher,
- MojoHandleSignals handle_signals,
- MojoDeadline deadline,
- uint32_t context,
- bool* did_wait_out,
- MojoResult* result_out,
- uint32_t* context_out,
- HandleSignalsState* signals_state_out);
- ~WaiterThread() override;
-
- private:
- void Run() override;
-
- const scoped_refptr<Dispatcher> dispatcher_;
- const MojoHandleSignals handle_signals_;
- const MojoDeadline deadline_;
- const uint32_t context_;
- bool* const did_wait_out_;
- MojoResult* const result_out_;
- uint32_t* const context_out_;
- HandleSignalsState* const signals_state_out_;
-
- Waiter waiter_;
-
- DISALLOW_COPY_AND_ASSIGN(WaiterThread);
-};
-
-} // namespace test
-} // namespace system
-} // namespace mojo
-
-#endif // MOJO_EDK_SYSTEM_WAITER_TEST_UTILS_H_