[Comm] man через ssh

Dmitry Chistikov dd1email на gmail.com
Чт Мар 3 11:32:32 UTC 2011


Alexey Bochenin, Mar. 03, 2011, 13:59 +0300:
> Я ошибся, и рестарт sshd не повлиял на ситуацию с broken pipe.

Я бы вешал багу на openssh. Нужно объяснить, что в качестве следствий
наблюдается некорректная работа, скажем, "yes | head", а также приложить
вывод strace -p PID_OF_SSHD -f -e trace=process,signal за время выполнения
ssh localhost true (неплохо бы вначале убедиться, что в этом выводе
действительно видно, что реакция на SIGPIPE *не* сбрасывается на
умолчательное состояние).

> Дмитрий, Вы писали насчет странности поведения функции write(...) 
> возвращающей -32 вместо стандартно описанного -1.
> Обновление до мартовского сизифа в какой-то степени помогло,
> ssh localhost -- strace -p -e write man -w bash теперь write возвращает, 
> как и описано, -1.

(В данном случае "-p" быть не должно.)

> Если важно выяснить, начиная с какой версии glibc поменялось поведение 
> write (кстати, правильно ли я предположил что write() реализована именно 
> в glibс?, если нет - подскажите, за какими файлами наблюдать), то 
> используя архив сизифа http://www.altlinux.org/Архив_Сизифа могу 
> попытаться определить версию точнее.

write() - это системный вызов, реализованный в ядре, а еще, если верить
intro(2), обертка glibc (посмотрите intro(2) и syscalls(2), там написано
подробнее). Мне кажется, что наблюдавшееся тогда -32 к основному вопросу
прямого отношения не имеет, хотя, конечно, могу и ошибаться.

-- 
Дмитрий Чистиков


Подробная информация о списке рассылки community