= Сообщение: 462 из 10756 ====================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 04 Nov 13 03:34:28 Кому : Dmitry Miloserdov 04 Nov 13 03:34:28 Тема : Re: Write failed: broken pipe in ssh FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+567a2837 На : area://RU.UNIX.BSD?msgid=aspen.stu.neva.ru+46c76c18 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.UNIX.BSD?msgid=grosbein.net+954d0119 ============================================================================== 03 ноя 2013, воскресенье, в 16:58 NOVT, Dmitry Miloserdov написал(а):
>>> С чего бы это в недопустимом? Сокет полностью в норме, установлен, >>> а то что промежуточный маршрут потерялся, сокета вообще не касается. >>> Как потерялся, так и восстановится. Во времена диалапа этим пользовался >>> вовсю. DM>> Если с сокетом все ок зачем вообще что-то на прикладной уровень DM>> сообщать?! Блокируй вызов и жди или ответь EWOULDBLOCK если нельзя DM>> а буфер полон. >> Hу вот по факту возвращает. EHOSTUNREACH прописана в man sendto >> в качестве возможной ошибки. DM> По какому факту возвращает?
Пример. Запускаем /etc/rc.d/ipfw start >/tmp/log 2>&1, то есть выполняем команду, которая при "default to deny" на некоторое время очищает правила ipfw и тем самым блокирует всю отправку таким образом, что при попытке вызвать sendto() сотоварищи в этот момент возвращается сбой передачи с EPERM.
За счет перенаправления вывода таких попыток в ssh-сессии нет и сессия не рвется. Если же убрать перенаправление, имеем хорошие шансы нарваться на обрыв сессии, причем может даже случиться так, что не просто порвется сессия, но и запущенная группа процессов получит по голове SIGHUP-ом и набор правил ipfw останется не загруженным - если не использовался screen/tmux, конечно.
И ssh рвет сессию не только при EPERM.
Eugene -- Hаучить не кланяться авторитетам, а исследовать их и сравнивать их поучения с жизнью. Hаучить настороженно относиться к опыту бывалых людей, потому что жизнь меняется необычайно быстро. --- slrn/1.0.1 (FreeBSD) * Origin: RDTC JSC (2:5006/1@fidonet)