From 9d75460d363ad03bf43c79955f41caf2f2253d8e Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Mon, 28 Oct 2019 13:34:50 -0700 Subject: mpm: rpc_server: Reenable timeouts after components have been updated When updating a component like the FPGA, the timeouts for reclaiming get disabled, because the update can potentially take a long time, during which the RPC server might not be available. There was a bug that didn't re-enable the timeouts. The most common case where this causes issues was when the Ethernet connection was severed during FPGA reloading, which could lead to UHD losing connection with MPM altogether (for example because SFPs would come up with a different IP address). In that case, MPM would remain unreachable until the next reboot. --- mpm/python/usrp_mpm/rpc_server.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mpm/python') diff --git a/mpm/python/usrp_mpm/rpc_server.py b/mpm/python/usrp_mpm/rpc_server.py index 80b4eb44e..2745ba59d 100644 --- a/mpm/python/usrp_mpm/rpc_server.py +++ b/mpm/python/usrp_mpm/rpc_server.py @@ -528,6 +528,9 @@ class MPMServer(RPCServer): )) self._last_error = str(ex) + # Re-enable timeouts before we reset the timer, so the MPM session can + # timeout if something goes wrong + self._disable_timeouts = False self.log.debug("End of update_component") self._reset_timer() -- cgit v1.2.3