Index: runtime/vm/os_thread_macos.cc |
diff --git a/runtime/vm/os_thread_macos.cc b/runtime/vm/os_thread_macos.cc |
index 4c7d094d9f37ac20d011e28778852c22fac00544..b5fd6f9b8e9948feb8150615f08df3d2129fb57a 100644 |
--- a/runtime/vm/os_thread_macos.cc |
+++ b/runtime/vm/os_thread_macos.cc |
@@ -168,8 +168,17 @@ ThreadId OSThread::GetCurrentThreadTraceId() { |
} |
-ThreadJoinId OSThread::GetCurrentThreadJoinId() { |
- return pthread_self(); |
+ThreadJoinId OSThread::GetCurrentThreadJoinId(OSThread* thread) { |
+ ASSERT(thread != NULL); |
+ // Make sure we're filling in the join id for the current thread. |
+ ASSERT(thread->id() == GetCurrentThreadId()); |
+ // Make sure the join_id_ hasn't been set, yet. |
+ DEBUG_ASSERT(thread->join_id_ == kInvalidThreadJoinId); |
+ pthread_t id = pthread_self(); |
+#if defined(DEBUG) |
+ thread->join_id_ = id; |
+#endif |
+ return id; |
} |