mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 23:04:52 +09:00
sendRcon waits for the rcon-ready event when RCON has not connected yet, which is the same root cause as the stop() hang. events.once rejects on error events, but _watchExit skips emitting error while the state is stopping, and kill() sets that state before sending SIGKILL. exportData does exactly that, so an RCON call racing the export never settles and the request stays pending until the session closes. Wait for exit as well, which leaves the existing RCON client check to reject the call with "RCON connection lost" instead. Both call sites now share a helper as the paired wait is identical. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>