Handle MAME SIGTERM during source debugging

This commit is contained in:
Александр Петров
2026-09-16 20:10:33 +03:00
parent f91d296476
commit addc00a0f3
5 changed files with 79 additions and 8 deletions
+7 -3
View File
@@ -684,9 +684,13 @@ exit/reset/reload инвалидируют состояние; потеря кл
Lua `machine:exit()` и реальный save/load state при остановке в `main`:
оба завершают DAP, post-load удаляет старые точки. SDL3-событие закрытия
окна использует тот же `schedule_exit()`; прямой UI-клик не автоматизировался.
Reset по-прежнему требует безопасного отдельного репро. `SIGTERM`
остановленному процессу MAME пока не дал DAP `terminated` за 15 секунд;
это отдельный OS-signal путь, не проверка штатного выхода.
Reset по-прежнему требует безопасного отдельного репро. Для запускаемого
через toolkit MAME launcher выставляет `SDL_NO_SIGNAL_HANDLERS=1`, если
переменная не задана пользователем: SDL3 иначе превращает `SIGTERM` в
`SDL_EVENT_QUIT`, который MAME SDL3 OSD игнорирует. Живые пробы подтвердили
прямой `SIGTERM` → DAP `terminated` и DAP `disconnect` → завершение MAME и
адаптера при остановке в `main`. Изменение действует только на MAME,
запущенный launcher; системный MAME без этого окружения ведёт себя по-прежнему.
### Этап 3 — полезная CLI/MCP-отладка и логи