diff --git a/src/pal/pal.h b/src/pal/pal.h index b893914..8a0260f 100644 --- a/src/pal/pal.h +++ b/src/pal/pal.h @@ -168,10 +168,23 @@ namespace snmalloc Pal::error(msg.get_message()); } + static inline size_t get_tid() + { + static thread_local size_t tid{0}; + static std::atomic tid_source{1}; + + if (tid == 0) + { + tid = tid_source++; + } + return tid; + } + template inline void message(Args... args) { MessageBuilder msg{std::forward(args)...}; - Pal::message(msg.get_message()); + MessageBuilder msg_tid{"{}: {}", get_tid(), msg.get_message()}; + Pal::message(msg_tid.get_message()); } } // namespace snmalloc