|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergey Matveychuk 2:5020/52 07 May 2003 23:46:21 To : All Subject : Re: Удаление элемента хеша -------------------------------------------------------------------------------- <ran@wizzle.ran.pp.ru> wrote: >Может, ты его не в том процессе (нити) удалил? Или уже внутри цикла по keys? Hет никаких нитей. Весь сервер построен на неблокирующих сокетах. Информация о подключеных клиентах держится в хэше. Типа такого - $client{$socket}->{ip} ну там много чего на самом деле хранится. При отключении я удаляю элемент хэша: delete $client{$oldsocket} А в другом месте перебераю элементы хэша (foreach, как в моем предыдущем примере) и нахожу элемент, который я удалил! Только элемент ссылается на undef. Причем на небольших тестовых скриптах это не повторяется. Я перерыл весь КэмелБук, но ничего не нашел типа отложеного удаления... Видимо глюк прела. Я пробовал 5.005, 5.6.1, 5.8.0. Везде он проявляется. Hо не стабильно. Порой через несколько дней работы... --- Forte Agent 1.7/32.534 * Origin: CIAM (2:5020/52.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/83266c40f85ec.html, оценка из 5, голосов 10
|