diff options
author | Martin Braun <martin.braun@ettus.com> | 2019-10-28 13:34:50 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-10-28 14:39:16 -0700 |
commit | 9d75460d363ad03bf43c79955f41caf2f2253d8e (patch) | |
tree | 8a7ba715b708d81baa059148e0ed0113c174977d /mpm/python/usrp_mpm | |
parent | fb71222b31ef3bfdd0c33bf3703be2ae11769c0f (diff) | |
download | uhd-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.py | 3 |
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() |