mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-20 01:21:26 +01:00
There are regularly places, especially in config analysis, where we need to report certain things (warnings or errors) only once, but where implementing a counter is sufficiently deterrent so that it's not done. Let's add a simple ONLY_ONCE() macro that implements a static variable (char) which is atomically turned on, and returns true if it's set for the first time. This uses fairly compact code, a single byte of BSS and is thread-safe. There are probably a number of places in the config parser where this could be used. It may also be used to implement a WARN_ON() similar to BUG_ON() but which would only warn once.