ConsoleInputHandler.Initialize() now checks Core.Headless and skips starting the input thread entirely when stdin isn't a TTY, logging instead. When not headless, it delegates the read loop to ConsoleInputPump (Task 2) rather than running its own async void loop with a two-AutoResetEvent handshake. ReadLine() throws HeadlessConsoleInputException when headless, falls back to a direct Console.ReadLine() during early startup or after the pump loop has ended, and otherwise blocks on the pump. |
||
|---|---|---|
| .. | ||
| Application | ||
| BuildTool | ||
| Logger | ||
| Server | ||
| Server.Tests | ||
| UOContent | ||
| UOContent.Tests | ||