При регистрации через luaopen_ квик выгружает lua53.dll раньше, чем саму dll при условии, что я не подписываюсь на main или вызываю в main ошибку при помощи LuaError.
Это часть более общего косяка, не прибивается стейт при ошибках и соответственно не собирается мусор. Про main не знал, тоже в копилочку добавится, очевидно, что ноги оттуда же растут. Обещали поправить вот прям с ближайшей версии.
Александр написал: При регистрации через luaopen_ квик выгружает lua53.dll раньше, чем саму dll при условии, что я не подписываюсь на main или вызываю в main ошибку при помощи LuaError.
Могли бы вы описать более подробно: как вы это поняли про порядок выгрузки?
Александр написал: При регистрации через luaopen_ квик выгружает lua53.dll раньше, чем саму dll при условии, что я не подписываюсь на main или вызываю в main ошибку при помощи LuaError.
Могли бы вы описать более подробно: как вы это поняли про порядок выгрузки?
Приходит в мою dll событие DLL_PROCESS_DETACH. Далее получаю handle lua53.dll при помощи GetModuleHandle. А ее уже и след простыл. У меня возвращает 0. Соотвественно сначала выгрузилась lua53.dll, а потом моя dll. Это также происходит на закрытие терминала. В нормальных условиях, когда нет ошибок и есть обработчик main, все работает с точностью наоборот: lua53.dll присутствует загруженной.