From 11bc3fa3a861d53aa387bb21d26d0d36e961fd78 Mon Sep 17 00:00:00 2001 From: Lane Kolbly Date: Tue, 3 Mar 2020 13:00:20 -0600 Subject: mpm: Make contextmanagers exception-safe When making context managers in Python, the yield statement has to be wrapped in a try/finally clause in order to properly clean up after exceptions happen. --- mpm/python/usrp_mpm/mpmutils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'mpm/python/usrp_mpm/mpmutils.py') diff --git a/mpm/python/usrp_mpm/mpmutils.py b/mpm/python/usrp_mpm/mpmutils.py index a0716d1da..f7e4e3be1 100644 --- a/mpm/python/usrp_mpm/mpmutils.py +++ b/mpm/python/usrp_mpm/mpmutils.py @@ -182,6 +182,8 @@ def lock_guard(lockable): lockable -- Must have a .lock() and .unlock() method """ lockable.lock() - yield - lockable.unlock() + try: + yield + finally: + lockable.unlock() -- cgit v1.2.3