| Index: runtime/vm/os_thread_linux.cc
|
| diff --git a/runtime/vm/os_thread_linux.cc b/runtime/vm/os_thread_linux.cc
|
| index bd9bfaf4fc48155cae95dc0799e7430e84556841..969504270e97e5a773c9bb6fddae4363a139b86c 100644
|
| --- a/runtime/vm/os_thread_linux.cc
|
| +++ b/runtime/vm/os_thread_linux.cc
|
| @@ -194,8 +194,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;
|
| }
|
|
|
|
|
|
|