Use correct calling convention for CreateThread callback on Windows.
It appears that thread.cc was the only thing in the webrtc codebase that was
doing this incorrectly (platform_thread.cc, for instance, is ok).
BUG=chromium:687251
Review-Url: https://codereview.webrtc.org/2668693005
Cr-Commit-Position: refs/heads/master@{#16387}
diff --git a/webrtc/base/thread.cc b/webrtc/base/thread.cc
index b7d4486..ed0c446 100644
--- a/webrtc/base/thread.cc
+++ b/webrtc/base/thread.cc
@@ -228,8 +228,7 @@
init->thread = this;
init->runnable = runnable;
#if defined(WEBRTC_WIN)
- thread_ = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)PreRun, init, 0,
- &thread_id_);
+ thread_ = CreateThread(NULL, 0, PreRun, init, 0, &thread_id_);
if (thread_) {
running_.Set();
} else {
@@ -308,7 +307,12 @@
#endif
}
+// static
+#if defined(WEBRTC_WIN)
+DWORD WINAPI Thread::PreRun(LPVOID pv) {
+#else
void* Thread::PreRun(void* pv) {
+#endif
ThreadInit* init = static_cast<ThreadInit*>(pv);
ThreadManager::Instance()->SetCurrentThread(init->thread);
rtc::SetCurrentThreadName(init->thread->name_.c_str());
@@ -325,7 +329,11 @@
init->thread->Run();
}
delete init;
- return NULL;
+#ifdef WEBRTC_WIN
+ return 0;
+#else
+ return nullptr;
+#endif
}
}