diff --git a/src/device/service/drivers/gnmi_openconfig/handlers/Interface.py b/src/device/service/drivers/gnmi_openconfig/handlers/Interface.py index d663e1a849e20a2d4f28a796270d8de1a08a0e23..c545acb0dc091854b5024c15f8abbef8ae50689c 100644 --- a/src/device/service/drivers/gnmi_openconfig/handlers/Interface.py +++ b/src/device/service/drivers/gnmi_openconfig/handlers/Interface.py @@ -89,11 +89,15 @@ class InterfaceHandler(_Handler): LOGGER.warning('Releasing...') while not objects_to_free.empty(): LOGGER.warning('Getting...') - obj = objects_to_free.get() - LOGGER.warning('Releasing: {:s} => {:s}'.format( - str(obj.path()), str(obj.print_mem('json')) - )) - obj.free() + try: + obj = objects_to_free.get_nowait() + LOGGER.warning('Releasing: {:s} => {:s}'.format( + str(obj.path()), str(obj.print_mem('json')) + )) + obj.free() + except queue.Empty: + LOGGER.warning('No more objects...') + continue LOGGER.warning('Release done') return str_path, str_data