Merge branch 'bugfix/ctrlc_port_detection' into 'master'

tools: allow to interrupt port detection

Closes IDF-6656

See merge request espressif/esp-idf!22062
pull/10618/head
Roland Dobai 2023-01-27 16:51:26 +08:00
commit fda3cf5607
2 zmienionych plików z 9 dodań i 11 usunięć

Wyświetl plik

@ -20,13 +20,11 @@ import json
import locale
import os
import os.path
import signal
import subprocess
import sys
from collections import Counter, OrderedDict, _OrderedDictKeysView
from importlib import import_module
from pkgutil import iter_modules
from types import FrameType
from typing import Any, Callable, Dict, List, Optional, Union
# pyc files remain in the filesystem when switching between branches which might raise errors for incompatible
@ -689,15 +687,7 @@ def init_cli(verbose_output: List=None) -> Any:
return CLI(help=cli_help, verbose_output=verbose_output, all_actions=all_actions)
def signal_handler(_signal: int, _frame: Optional[FrameType]) -> None:
# The Ctrl+C processed by other threads inside
pass
def main() -> None:
# Processing of Ctrl+C event for all threads made by main()
signal.signal(signal.SIGINT, signal_handler)
# Check the environment only when idf.py is invoked regularly from command line.
checks_output = None if SHELL_COMPLETE_RUN else check_environment()

Wyświetl plik

@ -3,6 +3,7 @@
import json
import os
import signal
import sys
from typing import Any, Dict, List
@ -151,7 +152,14 @@ def action_extensions(base_actions: Dict, project_path: str) -> Dict:
monitor_args += ['-m', ' '.join("'%s'" % a for a in idf_py)]
hints = False # Temporarily disabled because of https://github.com/espressif/esp-idf/issues/9610
RunTool('idf_monitor', monitor_args, args.project_dir, build_dir=args.build_dir, hints=hints, interactive=True)()
# Temporally ignore SIGINT, which is used in idf_monitor to spawn gdb.
old_handler = signal.getsignal(signal.SIGINT)
signal.signal(signal.SIGINT, signal.SIG_IGN)
try:
RunTool('idf_monitor', monitor_args, args.project_dir, build_dir=args.build_dir, hints=hints, interactive=True)()
finally:
signal.signal(signal.SIGINT, old_handler)
def flash(action: str, ctx: click.core.Context, args: PropertyDict) -> None:
"""