| Index: base/message_loop/message_loop_proxy_impl.cc
|
| diff --git a/base/message_loop/message_loop_proxy_impl.cc b/base/message_loop/message_loop_proxy_impl.cc
|
| index b7abca377e668270d2f1db89f54c3731de577602..580620d6bd5bf5a0f040dc85facdf4fbf9178b28 100644
|
| --- a/base/message_loop/message_loop_proxy_impl.cc
|
| +++ b/base/message_loop/message_loop_proxy_impl.cc
|
| @@ -15,7 +15,13 @@ namespace internal {
|
| MessageLoopProxyImpl::MessageLoopProxyImpl(
|
| scoped_refptr<IncomingTaskQueue> incoming_queue)
|
| : incoming_queue_(incoming_queue),
|
| - valid_thread_id_(PlatformThread::CurrentId()) {
|
| + valid_thread_id_(kInvalidThreadId) {
|
| +}
|
| +
|
| +void MessageLoopProxyImpl::BindToCurrentThread() {
|
| + AutoLock lock(valid_thread_id_lock_);
|
| + DCHECK_EQ(kInvalidThreadId, valid_thread_id_);
|
| + valid_thread_id_ = PlatformThread::CurrentId();
|
| }
|
|
|
| bool MessageLoopProxyImpl::PostDelayedTask(
|
| @@ -35,6 +41,7 @@ bool MessageLoopProxyImpl::PostNonNestableDelayedTask(
|
| }
|
|
|
| bool MessageLoopProxyImpl::RunsTasksOnCurrentThread() const {
|
| + AutoLock lock(valid_thread_id_lock_);
|
| return valid_thread_id_ == PlatformThread::CurrentId();
|
| }
|
|
|
|
|