From 5f6127f69042fbb1f7ec25012c92fe1ebdbcedcb Mon Sep 17 00:00:00 2001 From: alvin1221 <68314044+alvin1221@users.noreply.github.com> Date: Mon, 30 May 2022 11:22:07 +0800 Subject: fixes Undefined reference to nni_atomic_dec & nni_atomic_dec64 on Windows. (#1591) --- src/platform/windows/win_thread.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/platform') diff --git a/src/platform/windows/win_thread.c b/src/platform/windows/win_thread.c index 6463be3c..652a754d 100644 --- a/src/platform/windows/win_thread.c +++ b/src/platform/windows/win_thread.c @@ -265,6 +265,16 @@ nni_atomic_dec64_nv(nni_atomic_u64 *v) #endif } +void +nni_atomic_dec64(nni_atomic_u64 *v) +{ +#ifdef _WIN64 + InterlockedDecrementAcquire64(&v->v); +#else + InterlockedDecrement64(&v->v); +#endif +} + bool nni_atomic_cas64(nni_atomic_u64 *v, uint64_t comp, uint64_t new) { @@ -323,6 +333,12 @@ nni_atomic_dec_nv(nni_atomic_int *v) return (InterlockedDecrementRelease(&v->v)); } +void +nni_atomic_dec(nni_atomic_int *v) +{ + (void) InterlockedDecrementAcquire(&v->v); +} + bool nni_atomic_cas(nni_atomic_int *v, int comp, int new) { -- cgit v1.2.3-70-g09d2