MINOR: config: add minimum support for emitting warnings only once
This is useful to explain to users what to do during a migration.
diff --git a/include/types/global.h b/include/types/global.h
index 0d9903d..21433e8 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -170,6 +170,19 @@
extern char localpeer[MAX_HOSTNAME_LEN];
extern struct list global_listener_queue; /* list of the temporarily limited listeners */
extern struct task *global_listener_queue_task;
+extern unsigned int warned; /* bitfield of a few warnings to emit just once */
+
+/* bit values to go with "warned" above */
+/* #define WARN_* */
+
+/* to be used with warned and WARN_* */
+static inline int already_warned(unsigned int warning)
+{
+ if (warned & warning)
+ return 1;
+ warned |= warning;
+ return 0;
+}
#endif /* _TYPES_GLOBAL_H */
diff --git a/src/haproxy.c b/src/haproxy.c
index 9e0f33f..81eaeba 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -205,6 +205,9 @@
struct task *global_listener_queue_task;
static struct task *manage_global_listener_queue(struct task *t);
+/* bitfield of a few warnings to emit just once (WARN_*) */
+unsigned int warned = 0;
+
/*********************************************************************/
/* general purpose functions ***************************************/
/*********************************************************************/