Windows utility to setTheadName to help debugging.

R=juberti@google.com, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49919004

Cr-Commit-Position: refs/heads/master@{#9182}
diff --git a/webrtc/base/win32.cc b/webrtc/base/win32.cc
index c1b55bf..fa75559 100644
--- a/webrtc/base/win32.cc
+++ b/webrtc/base/win32.cc
@@ -453,4 +453,19 @@
   }
   return ret;
 }
+
+void SetCurrentThreadName(const char* name) {
+  struct {
+    DWORD dwType;
+    LPCSTR szName;
+    DWORD dwThreadID;
+    DWORD dwFlags;
+  } threadname_info = {0x100, name, static_cast<DWORD>(-1), 0};
+
+  __try {
+    ::RaiseException(0x406D1388, 0, sizeof(threadname_info) / sizeof(DWORD),
+                     reinterpret_cast<ULONG_PTR*>(&threadname_info));
+  } __except (EXCEPTION_EXECUTE_HANDLER) {
+  }
+}
 }  // namespace rtc