Skip to content

Commit a27b480

Browse files
committed
wasm2c: Fix platform specific mutex support
1 parent 9ee3f00 commit a27b480

File tree

3 files changed

+5
-29
lines changed

3 files changed

+5
-29
lines changed

wasm2c/wasm-rt-mem-impl-helper.inc

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,14 @@
4747
#define MEMORY_API_NAME(name) name##_shared
4848
#define MEMORY_CELL_TYPE _Atomic volatile uint8_t*
4949

50-
#if WASM_RT_USE_C11THREADS
51-
#define MEMORY_LOCK_VAR_INIT(name) C11_MEMORY_LOCK_VAR_INIT(name)
52-
#define MEMORY_LOCK_AQUIRE(name) C11_MEMORY_LOCK_AQUIRE(name)
53-
#define MEMORY_LOCK_RELEASE(name) C11_MEMORY_LOCK_RELEASE(name)
50+
#if WASM_RT_USE_CRITICALSECTION
51+
#define MEMORY_LOCK_VAR_INIT(name) WIN_MEMORY_LOCK_VAR_INIT(name)
52+
#define MEMORY_LOCK_AQUIRE(name) WIN_MEMORY_LOCK_AQUIRE(name)
53+
#define MEMORY_LOCK_RELEASE(name) WIN_MEMORY_LOCK_RELEASE(name)
5454
#elif WASM_RT_USE_PTHREADS
5555
#define MEMORY_LOCK_VAR_INIT(name) PTHREAD_MEMORY_LOCK_VAR_INIT(name)
5656
#define MEMORY_LOCK_AQUIRE(name) PTHREAD_MEMORY_LOCK_AQUIRE(name)
5757
#define MEMORY_LOCK_RELEASE(name) PTHREAD_MEMORY_LOCK_RELEASE(name)
58-
#elif WASM_RT_USE_CRITICALSECTION
59-
#define MEMORY_LOCK_VAR_INIT(name) WIN_MEMORY_LOCK_VAR_INIT(name)
60-
#define MEMORY_LOCK_AQUIRE(name) WIN_MEMORY_LOCK_AQUIRE(name)
61-
#define MEMORY_LOCK_RELEASE(name) WIN_MEMORY_LOCK_RELEASE(name)
6258
#endif
6359

6460
#endif

wasm2c/wasm-rt-mem-impl.c

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,6 @@
2929
extern void WASM_RT_GROW_FAILED_HANDLER();
3030
#endif
3131

32-
#define C11_MEMORY_LOCK_VAR_INIT(name) \
33-
if (mtx_init(&(name), mtx_plain) != thrd_success) { \
34-
fprintf(stderr, "Lock init failed\n"); \
35-
abort(); \
36-
}
37-
#define C11_MEMORY_LOCK_AQUIRE(name) \
38-
if (mtx_lock(&(name)) != thrd_success) { \
39-
fprintf(stderr, "Lock acquire failed\n"); \
40-
abort(); \
41-
}
42-
#define C11_MEMORY_LOCK_RELEASE(name) \
43-
if (mtx_unlock(&(name)) != thrd_success) { \
44-
fprintf(stderr, "Lock release failed\n"); \
45-
abort(); \
46-
}
47-
4832
#define PTHREAD_MEMORY_LOCK_VAR_INIT(name) \
4933
if (pthread_mutex_init(&(name), NULL) != 0) { \
5034
fprintf(stderr, "Lock init failed\n"); \

wasm2c/wasm-rt.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,10 @@ extern "C" {
6767
#include <windows.h>
6868
#define WASM_RT_MUTEX CRITICAL_SECTION
6969
#define WASM_RT_USE_CRITICALSECTION 1
70-
#elif defined(__APPLE__) || defined(__STDC_NO_THREADS__)
70+
#else
7171
#include <pthread.h>
7272
#define WASM_RT_MUTEX pthread_mutex_t
7373
#define WASM_RT_USE_PTHREADS 1
74-
#else
75-
#include <threads.h>
76-
#define WASM_RT_MUTEX mtx_t
77-
#define WASM_RT_USE_C11THREADS 1
7874
#endif
7975

8076
#endif

0 commit comments

Comments
 (0)