| 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; | 
| } | 
|  | 
|  | 
|  |