Пробую писать DLL для работы с терминалом без помощи LUA - в lua файле только инструкция require('Module'). Регистрирую метод OnStop и main внутри DLL:
static int Start(IntPtr luaState) {
while (isRunning == 1) {
Thread.Sleep(10);
}
isRunning = 1;
return 0;
}
Когда скрипт стартует, то в течение нескольких секунд (всегда по разному) его можно корректно остановить без ошибок. Но после некоторого времени (минуту или больше) получаю: ACCESS VIOLATION at address 0x000000000000000.
Не понимаю почему так происходит, ощущение, будто кто-то прибил ссылку на мою функцию OnStop, возможно LUA GC, но почему не понимаю.