Подскажите, создает ли данный код утечку:
SaveHashtableHandle( Hashtable, id , 0, val )
FlushChildHashtable( Hashtable, id )
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Hate, спасибо за полезную информацию, не могли бы вы ответить на тему самого вопроса?
Отредактирован nazarpunk
Отредактирован Hodor
А тебе в голову не приходила мысль что FlushChildHashtable очищает, так же как и RemoveSavedHandle
И каким образом обычное присваивание null может влиять на так называемый "счетчик ссылок"?
Я бы даже так сказал: если не делать FlushChildHashtable или RemoveSavedHandle - то это как раз и будет утечкой
Немного мат части:
Если в хештаблице не существует ключа, то хештаблица всегда будет возвращать ноль (он же null)
Поэтому возникает иллюзия что FlushChildHashtable (и прочие) равны обычному присваиванию null или 0
Vlod,
это долго объяснять, просто не парься если хендл-переменная не локалка
а если локалка - то в конце функции обнуляй её
Vlod: надо написать set u = null перед endfunction
Так понятнее?
Vlod,
Отредактирован Vlod
И всем, кто старался помочь