summaryrefslogtreecommitdiffstats
path: root/mojo/public/cpp/utility/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/public/cpp/utility/thread.h')
-rw-r--r--mojo/public/cpp/utility/thread.h62
1 files changed, 0 insertions, 62 deletions
diff --git a/mojo/public/cpp/utility/thread.h b/mojo/public/cpp/utility/thread.h
deleted file mode 100644
index b7d10ee..0000000
--- a/mojo/public/cpp/utility/thread.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2014 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_PUBLIC_CPP_UTILITY_THREAD_H_
-#define MOJO_PUBLIC_CPP_UTILITY_THREAD_H_
-
-#ifdef _WIN32
-#error "Not implemented: See crbug.com/342893."
-#endif
-
-#include <pthread.h>
-#include <stddef.h>
-
-#include "mojo/public/cpp/system/macros.h"
-
-namespace mojo {
-
-// This class is thread-friendly, not thread-safe (e.g., you mustn't call
-// |Join()| from multiple threads and/or simultaneously try to destroy the
-// object).
-class Thread {
- public:
- // TODO(vtl): Support non-joinable? priority?
- class Options {
- public:
- Options() : stack_size_(0) {}
-
- // A stack size of 0 means the default.
- size_t stack_size() const { return stack_size_; }
- void set_stack_size(size_t stack_size) { stack_size_ = stack_size; }
-
- private:
- size_t stack_size_;
-
- // Copy and assign allowed.
- };
-
- // TODO(vtl): Add name or name prefix?
- Thread();
- explicit Thread(const Options& options);
- virtual ~Thread();
-
- void Start();
- void Join();
-
- virtual void Run() = 0;
-
- private:
- static void* ThreadRunTrampoline(void* arg);
-
- const Options options_;
- pthread_t thread_;
- bool started_;
- bool joined_;
-
- MOJO_DISALLOW_COPY_AND_ASSIGN(Thread);
-};
-
-} // namespace mojo
-
-#endif // MOJO_PUBLIC_CPP_UTILITY_THREAD_H_