diff options
Diffstat (limited to 'src/platform/windows')
| -rw-r--r-- | src/platform/windows/win_thread.c | 16 |
1 files changed, 16 insertions, 0 deletions
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) { |
