Skip to content

Commit 04ba2d9

Browse files
Fix compilation failure on concurrency thread sanitizer
1 parent f5d3fce commit 04ba2d9

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

stdlib/public/Concurrency/ThreadSanitizer.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#if defined(_WIN32)
2020
#define NOMINMAX
2121
#include <windows.h>
22+
#elif defined(__wasi__)
23+
2224
#else
2325
#include <dlfcn.h>
2426
#endif
@@ -27,6 +29,13 @@ namespace {
2729
using TSanFunc = void(void *);
2830
TSanFunc *tsan_acquire, *tsan_release;
2931

32+
#if defined(__wasi__)
33+
34+
swift::swift_once_t initOnceToken;
35+
void initializeThreadSanitizer(void *unused) {}
36+
37+
#else
38+
3039
TSanFunc *loadSymbol(const char *name) {
3140
#if defined(_WIN32)
3241
return (TSanFunc *)GetProcAddress(GetModuleHandle(NULL), name);
@@ -40,6 +49,7 @@ void initializeThreadSanitizer(void *unused) {
4049
tsan_acquire = loadSymbol("__tsan_acquire");
4150
tsan_release = loadSymbol("__tsan_release");
4251
}
52+
#endif
4353
} // anonymous namespace
4454

4555
void swift::_swift_tsan_acquire(void *addr) {

0 commit comments

Comments
 (0)