summaryrefslogtreecommitdiff
path: root/lib/birdlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/birdlib.h')
-rw-r--r--lib/birdlib.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/birdlib.h b/lib/birdlib.h
index 9132fb93..2eec5c0f 100644
--- a/lib/birdlib.h
+++ b/lib/birdlib.h
@@ -183,7 +183,11 @@ void bug(const char *msg, ...) NORET;
void debug(const char *msg, ...); /* Printf to debug output */
void debug_safe(const char *msg); /* Printf to debug output, async-safe */
+/* Internal thread ID, useful for logging */
+extern _Atomic uint max_thread_id;
extern _Thread_local uint this_thread_id;
+#define THIS_THREAD_ID (this_thread_id ?: (this_thread_id = atomic_fetch_add_explicit(&max_thread_id, 1, memory_order_acq_rel)))
+
/* Debugging */