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