Skip to content

Commit 5cba3be

Browse files
committed
Reset all UTIL_ONCE_FLAG variables to UTIL_ONCE_FLAG_INIT
Reset all UTIL_ONCE_FLAG variables to UTIL_ONCE_FLAG_INIT at the end of destroying. Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 32543b1 commit 5cba3be

File tree

6 files changed

+17
-0
lines changed

6 files changed

+17
-0
lines changed

src/base_alloc/base_alloc_global.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <assert.h>
1111
#include <stdio.h>
1212
#include <stdlib.h>
13+
#include <string.h>
1314

1415
#include "base_alloc.h"
1516
#include "base_alloc_global.h"
@@ -45,6 +46,10 @@ void umf_ba_destroy_global(void) {
4546
BASE_ALLOC.ac[i] = NULL;
4647
}
4748
}
49+
50+
// portable version of "ba_is_initialized = UTIL_ONCE_FLAG_INIT;"
51+
static UTIL_ONCE_FLAG is_initialized = UTIL_ONCE_FLAG_INIT;
52+
memcpy(&ba_is_initialized, &is_initialized, sizeof(ba_is_initialized));
4853
}
4954

5055
static void umf_ba_create_global(void) {

src/memspaces/memspace_highest_bandwidth.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ void umfMemspaceHighestBandwidthDestroy(void) {
7878
if (UMF_MEMSPACE_HIGHEST_BANDWIDTH) {
7979
umfMemspaceDestroy(UMF_MEMSPACE_HIGHEST_BANDWIDTH);
8080
UMF_MEMSPACE_HIGHEST_BANDWIDTH = NULL;
81+
UMF_MEMSPACE_HBW_INITIALIZED = UTIL_ONCE_FLAG_INIT;
8182
}
8283
}
8384

src/memspaces/memspace_highest_capacity.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ void umfMemspaceHighestCapacityDestroy(void) {
5454
if (UMF_MEMSPACE_HIGHEST_CAPACITY) {
5555
umfMemspaceDestroy(UMF_MEMSPACE_HIGHEST_CAPACITY);
5656
UMF_MEMSPACE_HIGHEST_CAPACITY = NULL;
57+
UMF_MEMSPACE_HIGHEST_CAPACITY_INITIALIZED = UTIL_ONCE_FLAG_INIT;
5758
}
5859
}
5960

src/memspaces/memspace_host_all.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ void umfMemspaceHostAllDestroy(void) {
7373
if (UMF_MEMSPACE_HOST_ALL) {
7474
umfMemspaceDestroy(UMF_MEMSPACE_HOST_ALL);
7575
UMF_MEMSPACE_HOST_ALL = NULL;
76+
UMF_MEMSPACE_HOST_ALL_INITIALIZED = UTIL_ONCE_FLAG_INIT;
7677
}
7778
}
7879

src/provider/provider_level_zero.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ void ze_memory_provider_finalize(void *provider) {
124124

125125
util_init_once(&ze_is_initialized, init_ze_global_state);
126126
umf_ba_global_free(provider);
127+
128+
// portable version of "ze_is_initialized = UTIL_ONCE_FLAG_INIT;"
129+
static UTIL_ONCE_FLAG is_initialized = UTIL_ONCE_FLAG_INIT;
130+
memcpy(&ze_is_initialized, &is_initialized, sizeof(ze_is_initialized));
127131
}
128132

129133
static umf_result_t ze_memory_provider_alloc(void *provider, size_t size,

src/topology.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ static UTIL_ONCE_FLAG topology_initialized = UTIL_ONCE_FLAG_INIT;
1919
void umfDestroyTopology(void) {
2020
if (topology) {
2121
hwloc_topology_destroy(topology);
22+
23+
// portable version of "topology_initialized = UTIL_ONCE_FLAG_INIT;"
24+
static UTIL_ONCE_FLAG is_initialized = UTIL_ONCE_FLAG_INIT;
25+
memcpy(&topology_initialized, &is_initialized,
26+
sizeof(topology_initialized));
2227
}
2328
}
2429

0 commit comments

Comments
 (0)