1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/console
catborise 6ca823725c fix(console): socketiod recovers when the console process ends
When the serial console process exited on its own (a bad token, an
unreachable host, a killed consolecallback), the read task died on EIO
while fd and child_pid stayed set: the child was a zombie and every later
connection wrote to the dead pty until socketiod was restarted. A child
that failed before exec also returned into the server code and sent its
traceback to the client.

Now the read loop treats EOF/EIO as the end: it reaps the child, closes
the pty, tells the clients "[console closed]" and disconnects them, so
the next connection starts a new console. The child always leaves with
os._exit, also without a token; output is decoded incrementally, and the
unused imports are gone.
2026-10-08 22:43:24 +03:00
..
migrations Add app 2015-02-27 14:25:41 +02:00
templates fix(console): lite noVNC page uses the signed token, not the URL token 2026-10-02 23:57:40 +03:00
__init__.py Add app 2015-02-27 14:25:41 +02:00
models.py ci: replace super-linter with ruff 2026-10-04 01:08:11 +03:00
novncd fix: stop ignoring SIGCHLD process-wide 2026-10-04 13:40:53 +03:00
socketiod fix(console): socketiod recovers when the console process ends 2026-10-08 22:43:24 +03:00
sshtunnels.py feat(console): VNC is the only console type 2026-10-04 01:08:11 +03:00
test_cli_parsers.py refactor(console): replace deprecated optparse with argparse and fix regex escape sequences 2026-09-24 22:08:08 +03:00
test_socketiod_child.py fix(console): socketiod recovers when the console process ends 2026-10-08 22:43:24 +03:00
test_socketiod_disabled.py fix: stop ignoring SIGCHLD process-wide 2026-10-04 13:40:53 +03:00
tests.py fix(settings): ALLOWED_HOSTS lists the server's names instead of accepting any host 2026-10-07 16:31:51 +03:00
views.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00