|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 06 Jul 2005 00:08:08 To : Zahar Kiselev Subject : Re: протоколы(тунели) с гарант. доставкой -------------------------------------------------------------------------------- Zahar Kiselev <Zahar.Kiselev@p1.f382.n5030.z2.fidonet.org> wrote: ZK> Jul 05 14:05 05, Ilya Anfimov wrote to Zahar Kiselev: ZK> >>> EBB> Hасчёт того, что "read() без таймера - это бага" Вы случайно не >>> EBB> забыли? >>> Hе понял в чем здесь "шутка юмора". IA>> В том, что если та сторона уже давно закрыла соединение, при этом IA>> все FIN потерялись, а эта сторона висит на read() без таймера, IA>> то её и положено висеть вечно. ZK> Так это - к случаю когда хоть с одной стороны соединение было закрыто. ZK> А я говорю о том случае, когда на обоих концах программы висят и ждут друг ZK> друга, не закрывая соединение. Для того, чтобы "намертво" повесить сессию telnet, в большинстве систем с этим сервисом достаточно случайно нажать CTRL-S. Ловушка для пухов! :))) Тут полезнее не с tcpdump начинать, а с трассировки процессов - посмотреть, на каких сисколах висят приёмник и передатчик. Скорее всего, оба озабочены чтением и забили болт на передачу (или наоборот), а вот почему так - это уже вопрос. Hапример, была такая бага в связке старых rsync - rsyncd. Если процессы ведут себя нормально, а tcpdump показывает, что пакеты не бегают, то следует netstat/ss применить, чтобы посмотреть, в каком состоянии сокеты находятся. -- Eugene Berdnikov --- ifmail v.2.15dev5.3 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3651265f44e9.html, оценка из 5, голосов 10
|