| Index: base/message_loop/message_loop_proxy_impl.h
|
| diff --git a/base/message_loop/message_loop_proxy_impl.h b/base/message_loop/message_loop_proxy_impl.h
|
| index 0fe629f9d140c0244128e49598308a9a48d15366..fa611c290853451f9779a9cb35699c7c94aff763 100644
|
| --- a/base/message_loop/message_loop_proxy_impl.h
|
| +++ b/base/message_loop/message_loop_proxy_impl.h
|
| @@ -9,6 +9,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/message_loop/message_loop_proxy.h"
|
| #include "base/pending_task.h"
|
| +#include "base/synchronization/lock.h"
|
| #include "base/threading/platform_thread.h"
|
|
|
| namespace base {
|
| @@ -24,6 +25,9 @@ class BASE_EXPORT MessageLoopProxyImpl : public MessageLoopProxy {
|
| explicit MessageLoopProxyImpl(
|
| scoped_refptr<IncomingTaskQueue> incoming_queue);
|
|
|
| + // Initialize this message loop proxy on the current thread.
|
| + void BindToCurrentThread();
|
| +
|
| // MessageLoopProxy implementation
|
| bool PostDelayedTask(const tracked_objects::Location& from_here,
|
| const base::Closure& task,
|
| @@ -40,8 +44,10 @@ class BASE_EXPORT MessageLoopProxyImpl : public MessageLoopProxy {
|
| // THe incoming queue receiving all posted tasks.
|
| scoped_refptr<IncomingTaskQueue> incoming_queue_;
|
|
|
| - // ID of the thread |this| was created on.
|
| + // ID of the thread |this| was created on. Could be accessed on multiple
|
| + // threads, protected by |valid_thread_id_lock_|.
|
| PlatformThreadId valid_thread_id_;
|
| + mutable Lock valid_thread_id_lock_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MessageLoopProxyImpl);
|
| };
|
|
|