|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ivan Frolkov 2:5020/175.2 07 Nov 2004 21:42:10 To : Serge Chervjakov Subject : Рост в памяти -------------------------------------------------------------------------------- Sun Nov 07 2004 19:33, Serge Chervjakov wrote to All: SC> т.е. оба объекта содержат в себе ссылки друг на друга... и наверное даже SC> понятно, почему памятуха не очищается - когда из области видимости SC> выходит $pac2, в нем самом же содержится ссылка на pac1, а уже в pac1 SC> содержится ссылка на $pac2. Т.е. видимо перл считает, что не все ссылки SC> на объект вышли из области видимости => объект должен жить... perldoc perlobj, искать Two-Phased Garbage Collection SC> Вопрос: как избавиться-то?:) Добавление DESTROY { undef $_[0]->{pac1} } в SC> pac2 не помогло - видимо до DESTROY дело даже не доходит.. Совсем не SC> нравится вариант, что руками надо вызывать undef $pac2 в цикле - ручная SC> работа, можно забыть, да и не работает он - попробовал сейчас.. видимо SC> сочетание нужно - дестрой и undef.. Соответственно еще меньше нравится SC> вариант, что не пользоваться таким зацикливанием:))). Как SC> автоматизировать? Собственно, в общем виде - никак. Hу или в конструкторах заносить ссылку еще куда-то и потом уже пачками убивать то, что насоздавалось. Hе спорю - идея, конечно, блестящая в своей оригинальности... :-) SC> пользуется.. по известной причине:)). Hо млин... куча кода на этом SC> завязана... и исправлять - только новых багов добавлять... Гм. Старый баг лучше новых двух? :-) --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/330063979cb9.html, оценка из 5, голосов 10
|