idf.py: Fixed gdb target to exit cleanly when no openocd watch task

When idf.py gdb starts, it expects openocd was started in the background
and creates a thread to watch for openocd errors. when gdb target exits,
the debug_ext.py aims to cleanup all threads and processes, but fails
with traceback if openocd-watch thread not available, which could happen
if openocd started separately.
This commit is contained in:
David Cermak 2020-09-17 15:08:54 +02:00
parent 3c283b490a
commit 3b3409fb20

View File

@ -287,7 +287,11 @@ def action_extensions(base_actions, project_path):
continue
finally:
watch_openocd.join()
processes["threads_to_join"].remove(watch_openocd)
try:
processes["threads_to_join"].remove(watch_openocd)
except ValueError:
# Valid scenario: watch_openocd task won't be in the list if openocd not started from idf.py
pass
fail_if_openocd_failed = {
"names": ["--require-openocd", "--require_openocd"],