send shutdown msg only if we sent a boot msg. Don't send eithe when restarting.

This commit is contained in:
2026-05-06 11:54:09 -04:00
parent f640574e4f
commit d9fc8d632f
+5 -2
View File
@@ -463,7 +463,7 @@ async def cleanup(connections: List[AsyncConnection]):
logger.info("Cleaning up connections") logger.info("Cleaning up connections")
target = next((c for c in connections if c.transport), connections[0] if connections else None) target = next((c for c in connections if c.transport), connections[0] if connections else None)
if target: if target and send_shutdown:
try: try:
await target.sendto({"shutdown": 1, "acks": target.ackcount}) await target.sendto({"shutdown": 1, "acks": target.ackcount})
except Exception as e: except Exception as e:
@@ -477,7 +477,7 @@ async def cleanup(connections: List[AsyncConnection]):
async def async_main(args, config): async def async_main(args, config):
"""Async main function.""" """Async main function."""
global running, shutdown_event, active_tasks global running, shutdown_event, active_tasks, send_shutdown
# Create shutdown event # Create shutdown event
shutdown_event = asyncio.Event() shutdown_event = asyncio.Event()
@@ -525,10 +525,13 @@ async def async_main(args, config):
logger.info(f"Created {len(connections)} connections") logger.info(f"Created {len(connections)} connections")
# Send boot/message if requested # Send boot/message if requested
send_shutdown = False
if args.boot or args.message: if args.boot or args.message:
boot_msg = {} boot_msg = {}
if args.boot: if args.boot:
boot_msg["boot"] = 1 boot_msg["boot"] = 1
args.boot = False # Clear boot flag so we don't send it again in main loop
send_shutdown = True
if args.message: if args.message:
boot_msg["service"] = "service" boot_msg["service"] = "service"
boot_msg["msg"] = args.message boot_msg["msg"] = args.message