From 100b7bc10dcb83f81d6bbd37eca1c8708c4dfbb6 Mon Sep 17 00:00:00 2001 From: cslashm Date: Mon, 26 Mar 2018 12:38:38 +0200 Subject: Change mutex lock model to avoid dead lock and ensure locks are always released. Additional cosmetic fixes: move 'name' as protected remove unnecessary local var Fix debug log --- src/device/device.hpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/device/device.hpp') diff --git a/src/device/device.hpp b/src/device/device.hpp index b47460472..dee191234 100644 --- a/src/device/device.hpp +++ b/src/device/device.hpp @@ -78,8 +78,10 @@ namespace hw { return false; } - class device { + protected: + std::string name; + public: device() {} @@ -92,8 +94,6 @@ namespace hw { static const int SIGNATURE_FAKE = 1; - std::string name; - /* ======================================================================= */ /* SETUP/TEARDOWN */ /* ======================================================================= */ @@ -104,7 +104,15 @@ namespace hw { virtual bool release() = 0; virtual bool connect(void) = 0; - virtual bool disconnect() = 0; + virtual bool disconnect(void) = 0; + + /* ======================================================================= */ + /* LOCKER */ + /* ======================================================================= */ + virtual void lock(void) = 0; + virtual void unlock(void) = 0; + virtual bool try_lock(void) = 0; + /* ======================================================================= */ /* WALLET & ADDRESS */ -- cgit v1.2.3