diff --git a/base_c/include/embb/base/c/atomic.h b/base_c/include/embb/base/c/atomic.h index ce4ff60..2802d92 100644 --- a/base_c/include/embb/base/c/atomic.h +++ b/base_c/include/embb/base/c/atomic.h @@ -292,7 +292,7 @@ void embb_atomic_xor_assign_TYPE( extern "C" { #endif -#include +#include #ifdef EMBB_THREADING_ANALYSIS_MODE @@ -335,11 +335,13 @@ void embb_mutex_destroy( #define EMBB_ATOMIC_INIT_CHECK(variable) assert(variable->marker == 0x12345678) #define EMBB_ATOMIC_INIT_MARKER(variable) variable->marker = 0x12345678 +#define EMBB_ATOMIC_DESTROY_MARKER(variable) variable->marker = 0 #else #define EMBB_ATOMIC_INIT_CHECK(variable) (void)(variable) #define EMBB_ATOMIC_INIT_MARKER(variable) (void)(variable) +#define EMBB_ATOMIC_DESTROY_MARKER(variable) (void)(variable) #endif diff --git a/base_c/include/embb/base/c/internal/atomic/destroy.h b/base_c/include/embb/base/c/internal/atomic/destroy.h index 2456175..08a497c 100644 --- a/base_c/include/embb/base/c/internal/atomic/destroy.h +++ b/base_c/include/embb/base/c/internal/atomic/destroy.h @@ -44,6 +44,7 @@ EMBB_CAT2(embb_atomic_, EMBB_ATOMIC_PARAMETER_ATOMIC_TYPE_SUFFIX)* variable) { \ EMBB_ATOMIC_INIT_CHECK(variable); \ EMBB_ATOMIC_MUTEX_DESTROY(variable->internal_mutex); \ + EMBB_ATOMIC_DESTROY_MARKER(variable); \ } #undef EMBB_ATOMIC_METHOD_TO_GENERATE diff --git a/base_c/test/thread_index_test.cc b/base_c/test/thread_index_test.cc index 8ac3e40..70f12b1 100644 --- a/base_c/test/thread_index_test.cc +++ b/base_c/test/thread_index_test.cc @@ -112,8 +112,6 @@ void ThreadIndexTest::TestN() { embb_thread_join(&thread, NULL); delete[] threads; embb_internal_thread_index_set_max(old_max); - - embb_atomic_destroy_int(&flag); } int ThreadStart(void* arg) {