From ff1f2248b830ad78833e347be8d8c8dc9cb03c85 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Fri, 15 Sep 2017 16:34:11 +0200 Subject: Correct mutex placement Move mutex from template instantation to single compilation unit to make it work as desired Signed-off-by: Szczepan Zalega --- NitrokeyManager.cc | 2 ++ include/device_proto.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc index 9a9d106..7985eb3 100644 --- a/NitrokeyManager.cc +++ b/NitrokeyManager.cc @@ -10,6 +10,8 @@ #include "include/cxx_semantics.h" #include +std::mutex nitrokey::proto::send_receive_mtx; + namespace nitrokey{ std::mutex mex_dev_com_manager; diff --git a/include/device_proto.h b/include/device_proto.h index 691c17b..4a548a0 100644 --- a/include/device_proto.h +++ b/include/device_proto.h @@ -37,6 +37,9 @@ namespace nitrokey { namespace proto { + extern std::mutex send_receive_mtx; + + /* * POD types for HID proto commands * Instances are meant to be __packed. @@ -215,7 +218,6 @@ namespace nitrokey { using namespace ::nitrokey::log; using namespace std::chrono_literals; - static std::mutex send_receive_mtx; std::lock_guard guard(send_receive_mtx); LOG(__FUNCTION__, Loglevel::DEBUG_L2); -- cgit v1.2.3