From 850c847bbf5959f759248022323beb32f0470a6e Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Mon, 9 Nov 2015 11:57:25 -0800 Subject: [PATCH] Trap attempts to register more than one message handler at a time. --- firmware/common/message.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index 842561b3a..1bf74878f 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -29,6 +29,8 @@ #include "utility.hpp" +#include "ch.h" + class Message { public: static constexpr size_t MAX_SIZE = 276; @@ -251,6 +253,9 @@ public: using MessageHandler = std::function; void register_handler(const Message::ID id, MessageHandler&& handler) { + if( map_[toUType(id)] != nullptr ) { + chDbgPanic("MsgDblReg"); + } map_[toUType(id)] = std::move(handler); }