OberonCore https://forum.oberoncore.ru/ |
|
Мысли про загрузку и выгрузку модулей https://forum.oberoncore.ru/viewtopic.php?f=30&t=6592 |
Страница 2 из 2 |
Автор: | Илья Ермаков [ Четверг, 02 Апрель, 2020 18:50 ] |
Заголовок сообщения: | Re: Мысли про загрузку и выгрузку модулей |
Trurl писал(а): Загрузили модуль, сделали NEW(x), выгрузили, еще раз загрузили. Версия типа актуальная, но она не совпадает с версией типа x. Нет, там происходит следующее: Сделали NEW(x), потом он где-то болтается (пусть по якорю остался жить в другом модуле). После перезагрузки модуля все NEW(x) будут уже порождать объект с другим тегом (новым). А старый объект будет жить, ссылаясь на старый дескриптор (в невыгружаемой части старой версии модуля). И он уже не будет ни под какие статические сравнения IS|WITH и приведения типа опознаваться (т.к. правая сторона IS|WITH всегда статически связана с актуальной версией типа, по импорту - мы не могли перезагрузить модуль и не перезагрузить его импортирующий, который с IS|WITH, а "переменных типа" у нас нет, если мы не используем Meta.Item). |
Автор: | Trurl [ Четверг, 02 Апрель, 2020 21:01 ] |
Заголовок сообщения: | Re: Мысли про загрузку и выгрузку модулей |
Илья Ермаков писал(а): И он уже не будет ни под какие статические сравнения IS|WITH и приведения типа опознаваться Так в том и дело, что не будет. |
Автор: | adimetrius [ Четверг, 02 Апрель, 2020 21:14 ] |
Заголовок сообщения: | Re: Мысли про загрузку и выгрузку модулей |
Trurl писал(а): Илья Ермаков писал(а): И он уже не будет ни под какие статические сравнения IS|WITH и приведения типа опознаваться Так в том и дело, что не будет. Если в модуле M есть x IS Module.Type, то выгрузить Module можно, только выгрузив предварительно M. Об этом, кмк, Илья пишет. |
Автор: | Trurl [ Пятница, 03 Апрель, 2020 00:29 ] |
Заголовок сообщения: | Re: Мысли про загрузку и выгрузку модулей |
И что? Этот x может быть создан даже до загрузки M. |
Автор: | Илья Ермаков [ Суббота, 04 Апрель, 2020 11:27 ] |
Заголовок сообщения: | Re: Мысли про загрузку и выгрузку модулей |
Trurl писал(а): И что? Этот x может быть создан даже до загрузки M. x да. Тогда он стал "НЛО". Не соответствует больше никакому типу. |
Автор: | ssb83 [ Суббота, 22 Август, 2020 16:46 ] |
Заголовок сообщения: | Re: Мысли про загрузку и выгрузку модулей |
У Андреаса Пирклбауэра эта задача безопасной выгрузки модулей решена в его Extended Oberon (бывший Experimental Oberon, расширенный вариант системы Project Oberon 2013). Подробное описание что и как в 13-страничном документе: https://github.com/andreaspirklbauer/Ob ... Oberon.pdf |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |