From d683c4d8de15bb446247909cbe97e3cd19c2e0fb Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Tue, 28 Jan 2025 02:58:09 +0100 Subject: [PATCH] lib: don't shadow `_once` in `frr_with_mutex` The `_once` loop variable will result in a `-Wshadow` warning when that is turned on. Use `__COUNTER__` to give these variables distinct names, like is already done with `_mtx_`. (and because I touched it, clang-format wants it reformatted... ohwell.) Signed-off-by: David Lamparter --- lib/frr_pthread.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/frr_pthread.h b/lib/frr_pthread.h index bb751b7071..368ada36ad 100644 --- a/lib/frr_pthread.h +++ b/lib/frr_pthread.h @@ -233,11 +233,13 @@ int frr_pthread_non_controlled_startup(pthread_t thread, const char *name, unused, cleanup(_frr_mtx_unlock))) = _frr_mtx_lock(mutex), \ /* end */ -#define frr_with_mutex(...) \ - for (pthread_mutex_t MACRO_REPEAT(_frr_with_mutex, ##__VA_ARGS__) \ - *_once = NULL; _once == NULL; _once = (void *)1) \ +#define _frr_with_mutex_once(_once, ...) \ + for (pthread_mutex_t MACRO_REPEAT(_frr_with_mutex, ##__VA_ARGS__)*_once = NULL; \ + _once == NULL; _once = (void *)1) \ /* end */ +#define frr_with_mutex(...) _frr_with_mutex_once(NAMECTR(_once_), __VA_ARGS__) + /* variant 2: * (more suitable for long blocks, no extra indentation) * -- 2.39.5