aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2019-10-28 13:34:50 -0700
committerMartin Braun <martin.braun@ettus.com>2019-10-28 14:39:16 -0700
commit9d75460d363ad03bf43c79955f41caf2f2253d8e (patch)
tree8a7ba715b708d81baa059148e0ed0113c174977d /mpm/python/usrp_mpm
parentfb71222b31ef3bfdd0c33bf3703be2ae11769c0f (diff)
downloaduhd-9d75460d363ad03bf43c79955f41caf2f2253d8e.tar.gz
uhd-9d75460d363ad03bf43c79955f41caf2f2253d8e.tar.bz2
uhd-9d75460d363ad03bf43c79955f41caf2f2253d8e.zip
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.
Diffstat (limited to 'mpm/python/usrp_mpm')
-rw-r--r--mpm/python/usrp_mpm/rpc_server.py3
1 files changed, 3 insertions, 0 deletions
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()