mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-02 20:06:06 +00:00
lib: atomic_add_fetch_explicit not supported on all platforms
Signed-off-by: Lou Berger <lberger@labn.net>
This commit is contained in:
parent
13f1ba41a1
commit
7a153339b2
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user