diff --git a/fido2/hid/macos.py b/fido2/hid/macos.py index 79495c4f..a0bb156f 100644 --- a/fido2/hid/macos.py +++ b/fido2/hid/macos.py @@ -317,13 +317,16 @@ def write_packet(self, packet): raise OSError(f"Failed to write report to device: {result}") def read_packet(self): - read_thread = threading.Thread(target=_dev_read_thread, args=(self,)) - read_thread.start() - read_thread.join() try: return self.read_queue.get(False) except Empty: - raise OSError("Failed reading a response") + read_thread = threading.Thread(target=_dev_read_thread, args=(self,)) + read_thread.start() + read_thread.join() + try: + return self.read_queue.get(False) + except Empty: + raise OSError("Failed reading a response") def get_int_property(dev, key):