| Index: base/threading/platform_thread_win.cc
|
| diff --git a/base/threading/platform_thread_win.cc b/base/threading/platform_thread_win.cc
|
| index b9f7a5648ad3ff2350e12e728a28a7158f75bac3..aeaa7c7a720e70886a76bedad41c25be073b41df 100644
|
| --- a/base/threading/platform_thread_win.cc
|
| +++ b/base/threading/platform_thread_win.cc
|
| @@ -108,15 +108,16 @@ bool CreateThreadInternal(size_t stack_size,
|
| // have to work running on CreateThread() threads anyway, since we run code
|
| // on the Windows thread pool, etc. For some background on the difference:
|
| // http://www.microsoft.com/msj/1099/win32/win321099.aspx
|
| + PlatformThreadId thread_id;
|
| void* thread_handle = CreateThread(
|
| - NULL, stack_size, ThreadFunc, params, flags, NULL);
|
| + NULL, stack_size, ThreadFunc, params, flags, &thread_id);
|
| if (!thread_handle) {
|
| delete params;
|
| return false;
|
| }
|
|
|
| if (out_thread_handle)
|
| - *out_thread_handle = PlatformThreadHandle(thread_handle);
|
| + *out_thread_handle = PlatformThreadHandle(thread_handle, thread_id);
|
| else
|
| CloseHandle(thread_handle);
|
| return true;
|
| @@ -154,7 +155,7 @@ void PlatformThread::Sleep(TimeDelta duration) {
|
| }
|
|
|
| // static
|
| -void PlatformThread::SetName(const char* name) {
|
| +void PlatformThread::SetName(const std::string& name) {
|
| ThreadIdNameManager::GetInstance()->SetName(CurrentId(), name);
|
|
|
| // On Windows only, we don't need to tell the profiler about the "BrokerEvent"
|
| @@ -163,7 +164,7 @@ void PlatformThread::SetName(const char* name) {
|
| // which would also (as a side effect) initialize the profiler in this unused
|
| // context, including setting up thread local storage, etc. The performance
|
| // impact is not terrible, but there is no reason to do initialize it.
|
| - if (0 != strcmp(name, "BrokerEvent"))
|
| + if (name != "BrokerEvent")
|
| tracked_objects::ThreadData::InitializeThreadContext(name);
|
|
|
| // The debugger needs to be around to catch the name in the exception. If
|
| @@ -173,7 +174,7 @@ void PlatformThread::SetName(const char* name) {
|
| if (!::IsDebuggerPresent() && !base::debug::IsBinaryInstrumented())
|
| return;
|
|
|
| - SetNameInternal(CurrentId(), name);
|
| + SetNameInternal(CurrentId(), name.c_str());
|
| }
|
|
|
| // static
|
|
|