У меня есть небольшое приложение оболочки, которое встраивает Tcl для выполнения некоторого набора Tcl код. Интерпретатор Tcl инициализируется с помощью Tcl_CreateInterp. Все очень просто:
- пользовательские типы команда Tcl
- команда передается в Tcl_Eval для оценки
- повторение
Но если пользователь набирает «exit», что является допустимой командой Tcl, все это - интерпретатор Tcl и мое приложение оболочки - завершается автоматически.
В: есть ли способ поймать этот сигнал выхода, исходящий от интерпретатора Tcl. Очень бы хотелось не проверять каждую пользовательскую команду. Я попробовал Tcl_CreateExitHandler, но это не сработало.
Большое спасибо.
Tcl_CreateExitHandler
предназначен для перехвата выходов и освобождения ресурсов (например, соединений с базой данных), которые в противном случае злобно зависают. Это не может остановить выход. - person Donal Fellows   schedule 29.03.2012Tcl_CreateExitHandler
не сработает? - person ilya1725   schedule 29.03.2012