diff --git a/scripts/hbc_mini.py b/scripts/hbc_mini.py index 621d7b7..7724c31 100755 --- a/scripts/hbc_mini.py +++ b/scripts/hbc_mini.py @@ -1028,7 +1028,7 @@ def _reconfigure_syslog(level: int): # --------------------------------------------------------------------------- async def _async_main(args, cfg: Dict[str, Any]) -> int: - global _running, _shutdown_event, _active_tasks + global _running, _shutdown_event, _active_tasks, send_shutdown _running = True _shutdown_event = asyncio.Event() _active_tasks = [] @@ -1059,10 +1059,13 @@ async def _async_main(args, cfg: Dict[str, Any]) -> int: return 1 # Boot / one-shot message + send_shutdown = False if args.boot or args.message: bmsg: Dict[str, Any] = {"acks": 0} if args.boot: bmsg["boot"] = 1 + args.boot = False # don't repeat on restart + send_shutdown = True if args.message: bmsg["service"] = "service" bmsg["msg"] = args.message @@ -1100,7 +1103,7 @@ async def _async_main(args, cfg: Dict[str, Any]) -> int: log.info("shutting down") target = next((c for c in connections if c._transport), connections[0] if connections else None) - if target: + if target and send_shutdown: try: await target.sendto({"shutdown": 1, "acks": target.ackcount}) except Exception: