[ASan] Intercept CreateThread on Windows
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@151366 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/asan_thread.cc b/lib/asan/asan_thread.cc
index 6e6436b..c829292 100644
--- a/lib/asan/asan_thread.cc
+++ b/lib/asan/asan_thread.cc
@@ -26,7 +26,7 @@
malloc_storage_(x),
stats_(x) { }
-AsanThread *AsanThread::Create(int parent_tid, void *(*start_routine) (void *),
+AsanThread *AsanThread::Create(int parent_tid, thread_callback_t start_routine,
void *arg, AsanStackTrace *stack) {
size_t size = RoundUpTo(sizeof(AsanThread), kPageSize);
AsanThread *thread = (AsanThread*)AsanMmapSomewhereOrDie(size, __FUNCTION__);
@@ -80,7 +80,7 @@
fake_stack_.Init(stack_size());
}
-void *AsanThread::ThreadStart() {
+thread_return_t AsanThread::ThreadStart() {
Init();
if (!start_routine_) {
@@ -91,7 +91,7 @@
return 0;
}
- void *res = start_routine_(arg_);
+ thread_return_t res = start_routine_(arg_);
malloc_storage().CommitBack();
this->Destroy();