diff options
Diffstat (limited to 'mojo/public/cpp/utility/thread.h')
-rw-r--r-- | mojo/public/cpp/utility/thread.h | 62 |
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_ |