mirror of
https://github.com/xcat2/confluent.git
synced 2026-08-03 16:07:00 +00:00
15670f0ab1
_connect_unix left the socket blocking, while _connect_tls sets a zero timeout, so every loop.sock_recv and sock_sendall against the local socket ran the blocking call inline and stalled the whole event loop. nodeconsole --video showed this most clearly: a power action opens its own session, so the tiles stopped refreshing and keystrokes went unhandled until the BMC finished. asyncio only enforces this in debug mode, where the client failed outright with ValueError: the socket must be non-blocking. The descriptor passing retries in asynctlvdata also assume a non-blocking socket, since they wait for BlockingIOError.