diff options
author | Lou Berger <lberger@labn.net> | 2018-08-29 01:19:54 +0200 |
---|---|---|
committer | Lou Berger <lberger@labn.net> | 2018-08-29 01:22:37 +0200 |
commit | 7a153339b2ea6b9cdef3f9ce2113e27f417c6fab (patch) | |
tree | cbd65a568e87dfbdac8c20d1d026a19528683f41 /lib/memory.c | |
parent | lib: qmem show changes (header and max) (diff) | |
download | frr-7a153339b2ea6b9cdef3f9ce2113e27f417c6fab.tar.xz frr-7a153339b2ea6b9cdef3f9ce2113e27f417c6fab.zip |
lib: atomic_add_fetch_explicit not supported on all platforms
Signed-off-by: Lou Berger <lberger@labn.net>
Diffstat (limited to 'lib/memory.c')
-rw-r--r-- | lib/memory.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/memory.c b/lib/memory.c index 642d1325e..695bbfe11 100644 --- a/lib/memory.c +++ b/lib/memory.c @@ -39,8 +39,8 @@ static inline void mt_count_alloc(struct memtype *mt, size_t size, void *ptr) size_t current; size_t oldsize; - current = atomic_add_fetch_explicit(&mt->n_alloc, 1, - memory_order_relaxed); + current = 1 + atomic_fetch_add_explicit(&mt->n_alloc, 1, + memory_order_relaxed); oldsize = atomic_load_explicit(&mt->n_max, memory_order_relaxed); if (current > oldsize) @@ -61,8 +61,8 @@ static inline void mt_count_alloc(struct memtype *mt, size_t size, void *ptr) #ifdef HAVE_MALLOC_USABLE_SIZE size_t mallocsz = malloc_usable_size(ptr); - current = atomic_add_fetch_explicit(&mt->total, mallocsz, - memory_order_relaxed); + current = mallocsz + atomic_fetch_add_explicit(&mt->total, mallocsz, + memory_order_relaxed); oldsize = atomic_load_explicit(&mt->max_size, memory_order_relaxed); if (current > oldsize) /* note that this may fail, but approximation is sufficient */ |