uhd/mpm/python/usrp_mpm
Martin Braun 3b9ced8f07 mpm: rpc server: Fix unclaim sequence
Sequence is now:
1. Get _state lock
2. Kill reclaim timeout
3. Run deinit sequence
4. Clear claim token and session ID
5. Release _state lock

Before, we were not locking the mutex, and the timer was killed after
the deinit sequence. If the deinit sequence stalls for whatever reason,
that doesn't have to cause a claimer loss to be reported. UHD will
already have stopped the reclaim loop before unclaim() is called.

In the stall case, it would also have been possible the to acquire a new
claim while the deinit() is still running. This is prevented with the
combination of actually acquiring the mutex (like claim() and reclaim()
do) and moving the token/session ID clearing to the end.
2020-12-21 15:28:24 -08:00
..
chips uhd: mpm: update all license header w/ "-or-later" 2019-03-08 00:43:07 +01:00
cores cmake: Update coding style to use lowercase commands 2018-11-14 14:10:09 -08:00
dboard_manager sim: Add Daughterboard Methods 2020-10-07 15:29:19 -05:00
periph_manager sim: Move Hardware Specific to Config File 2020-10-28 15:25:48 -05:00
simulator sim: Move SelectableQueue and SendWrapper 2020-10-28 15:25:48 -05:00
sys_utils sim: Lay Groundwork for Simulator 2020-10-07 15:29:19 -05:00
xports sim: Lay Groundwork for Simulator 2020-10-07 15:29:19 -05:00
__init__.py.in sim: Lay Groundwork for Simulator 2020-10-07 15:29:19 -05:00
aurora_control.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
bfrfs.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
bist.py mpm: n3xx: bist: Read mboard and dboard eeprom to determine product 2020-07-31 14:32:54 -05:00
CMakeLists.txt sim: Integrate simulator into UHD 2020-10-28 15:25:48 -05:00
components.py mpm: n3xx: Factor out component updating 2018-07-11 12:42:45 -07:00
discovery.py mpm: Fix some Pylint warnings 2018-03-06 15:45:15 -08:00
e31x_legacy_eeprom.py mpm: e31x: Accept FF terminated strings in eeprom 2020-09-04 11:38:27 -07:00
eeprom.py mpm: Add MB-EEPROMv3 2019-05-10 16:59:58 -07:00
ethdispatch.py mpm: Add support for internal Ethernet interface 2020-07-16 10:00:12 -05:00
fpga_bit_to_bin.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
gpsd_iface.py mpm: e310: Enable GPS sensors 2019-11-26 12:21:34 -08:00
mpmlog.py fixup! mpm: Use prefs API in logging module 2020-12-04 12:07:16 -08:00
mpmtypes.py mpm: Remove SID class 2020-08-07 07:25:08 -05:00
mpmutils.py mpm: utils: print error on minor compat number mismatch conditionally 2020-07-13 15:22:59 -05:00
prefs.py docs: Add comments on mpm.conf 2020-07-09 00:39:11 -07:00
process_manager.py sim: Integrate simulator into UHD 2020-10-28 15:25:48 -05:00
rpc_server.py mpm: rpc server: Fix unclaim sequence 2020-12-21 15:28:24 -08:00
test_bfrfs.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
user_eeprom.py mpm: Factor out user EEPROM code into own module 2018-12-20 14:57:54 -08:00