From 10c29687bb5e3f8a64231037f15c9242a0929ca3 Mon Sep 17 00:00:00 2001 From: Marcus Winter Date: Tue, 8 Nov 2016 17:03:44 +0100 Subject: [PATCH] fixed issue with vs2012 --- base_c/include/embb/base/c/internal/atomic/atomic_variables.h | 4 ++-- base_c/src/mutex.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/base_c/include/embb/base/c/internal/atomic/atomic_variables.h b/base_c/include/embb/base/c/internal/atomic/atomic_variables.h index e0fa02e..f8efa1c 100644 --- a/base_c/include/embb/base/c/internal/atomic/atomic_variables.h +++ b/base_c/include/embb/base/c/internal/atomic/atomic_variables.h @@ -46,7 +46,7 @@ { \ volatile EMBB_ATOMIC_PARAMETER_TYPE_NATIVE internal_variable; \ embb_mutex_t internal_mutex; \ - uint32_t marker; \ + volatile uint32_t marker; \ } EMBB_CAT2(embb_atomic_, EMBB_ATOMIC_PARAMETER_ATOMIC_TYPE_SUFFIX); #else @@ -57,7 +57,7 @@ typedef struct \ { \ volatile EMBB_ATOMIC_PARAMETER_TYPE_NATIVE internal_variable; \ - uint32_t marker; \ + volatile uint32_t marker; \ } EMBB_CAT2(embb_atomic_, EMBB_ATOMIC_PARAMETER_ATOMIC_TYPE_SUFFIX); #endif diff --git a/base_c/src/mutex.c b/base_c/src/mutex.c index 158af1d..ec08649 100644 --- a/base_c/src/mutex.c +++ b/base_c/src/mutex.c @@ -205,5 +205,6 @@ int embb_spin_unlock(embb_spinlock_t* spinlock) { void embb_spin_destroy(embb_spinlock_t* spinlock) { assert(NULL != spinlock); + embb_spin_lock(spinlock); embb_atomic_destroy_int(&spinlock->atomic_spin_variable_); } -- libgit2 0.26.0