From 408a2e4cc3fa0b35f255ff65cec00c90e9d47b15 Mon Sep 17 00:00:00 2001 From: Brikwerk Date: Thu, 23 Sep 2021 14:41:05 -0700 Subject: [PATCH] Fixed shutdown bugs --- nxbt/nxbt.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/nxbt/nxbt.py b/nxbt/nxbt.py index 993986c..3ae411f 100644 --- a/nxbt/nxbt.py +++ b/nxbt/nxbt.py @@ -596,6 +596,13 @@ class Nxbt(): """ if controller_index not in self.manager_state.keys(): + if controller_index in self._controller_adapter_lookup.keys(): + # Attempt to free any adapters claimed by a crashed controller + try: + adapter_path = self._controller_adapter_lookup.pop(controller_index, None) + self._adapters_in_use.pop(adapter_path, None) + except Exception: + pass raise ValueError("Specified controller does not exist") self._controller_lock.acquire() @@ -772,8 +779,8 @@ class _ControllerManager(): }) def remove_controller(self, index): - - self._children[index].kill() + + self._children[index].terminate() self.state.pop(index, None) def shutdown(self):