| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/os_thread.h" | 5 #include "vm/os_thread.h" |
| 6 | 6 |
| 7 #include "vm/atomic.h" | 7 #include "vm/atomic.h" |
| 8 #include "vm/lockers.h" | 8 #include "vm/lockers.h" |
| 9 #include "vm/log.h" | 9 #include "vm/log.h" |
| 10 #include "vm/thread_interrupter.h" | 10 #include "vm/thread_interrupter.h" |
| 11 | 11 |
| 12 namespace dart { | 12 namespace dart { |
| 13 | 13 |
| 14 // The single thread local key which stores all the thread local data | 14 // The single thread local key which stores all the thread local data |
| 15 // for a thread. | 15 // for a thread. |
| 16 ThreadLocalKey OSThread::thread_key_ = OSThread::kUnsetThreadLocalKey; | 16 ThreadLocalKey OSThread::thread_key_ = kUnsetThreadLocalKey; |
| 17 OSThread* OSThread::thread_list_head_ = NULL; | 17 OSThread* OSThread::thread_list_head_ = NULL; |
| 18 Mutex* OSThread::thread_list_lock_ = NULL; | 18 Mutex* OSThread::thread_list_lock_ = NULL; |
| 19 | 19 |
| 20 | 20 |
| 21 OSThread::OSThread() : | 21 OSThread::OSThread() : |
| 22 BaseThread(true), | 22 BaseThread(true), |
| 23 id_(OSThread::GetCurrentThreadId()), | 23 id_(OSThread::GetCurrentThreadId()), |
| 24 join_id_(OSThread::GetCurrentThreadJoinId()), | 24 join_id_(OSThread::GetCurrentThreadJoinId()), |
| 25 trace_id_(OSThread::GetCurrentThreadTraceId()), | 25 trace_id_(OSThread::GetCurrentThreadTraceId()), |
| 26 name_(NULL), | 26 name_(NULL), |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 | 223 |
| 224 OSThread* OSThreadIterator::Next() { | 224 OSThread* OSThreadIterator::Next() { |
| 225 ASSERT(OSThread::thread_list_lock_ != NULL); | 225 ASSERT(OSThread::thread_list_lock_ != NULL); |
| 226 ASSERT(OSThread::thread_list_lock_->IsOwnedByCurrentThread()); | 226 ASSERT(OSThread::thread_list_lock_->IsOwnedByCurrentThread()); |
| 227 OSThread* current = next_; | 227 OSThread* current = next_; |
| 228 next_ = next_->thread_list_next_; | 228 next_ = next_->thread_list_next_; |
| 229 return current; | 229 return current; |
| 230 } | 230 } |
| 231 | 231 |
| 232 } // namespace dart | 232 } // namespace dart |
| OLD | NEW |