diff options
Diffstat (limited to 'mpm')
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/base.py | 6 | ||||
-rw-r--r-- | mpm/python/usrp_mpm/rpc_server.py | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py index 93edb36ce..303f7e805 100644 --- a/mpm/python/usrp_mpm/periph_manager/base.py +++ b/mpm/python/usrp_mpm/periph_manager/base.py @@ -733,6 +733,9 @@ class PeriphManagerBase(object): """ This is called when the device is claimed, in case the device needs to run any actions on claiming (e.g., light up an LED). + + Consider this a "post claim hook", not a function to actually claim + this device (which happens outside of this class). """ self.log.debug("Device was claimed. No actions defined.") @@ -740,6 +743,9 @@ class PeriphManagerBase(object): """ This is called when the device is unclaimed, in case the device needs to run any actions on claiming (e.g., turn off an LED). + + Consider this a "post unclaim hook", not a function to actually + unclaim this device (which happens outside of this class). """ self.log.debug("Device was unclaimed. No actions defined.") diff --git a/mpm/python/usrp_mpm/rpc_server.py b/mpm/python/usrp_mpm/rpc_server.py index d20796c52..4eed6b79b 100644 --- a/mpm/python/usrp_mpm/rpc_server.py +++ b/mpm/python/usrp_mpm/rpc_server.py @@ -186,7 +186,7 @@ class MPMServer(RPCServer): self._last_error = str(ex) raise finally: - if not self.periph_manager.claimed: + if not self._state.claim_status.value: self.log.error("Lost claim during API call to `%s'!", command) new_claimed_function.__doc__ = function.__doc__ @@ -279,6 +279,7 @@ class MPMServer(RPCServer): choice(ascii_letters + digits) for _ in range(TOKEN_LEN) ), 'ascii') self._state.claim_status.value = True + self.periph_manager.claimed = True self.periph_manager.claim() self._state.lock.release() self.session_id = session_id + " ({})".format(self.client_host) |