|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 30 Apr 2004 23:32:12 To : eugen@grosbein.pp.ru Subject : Re: cu vs HyperTerminal -------------------------------------------------------------------------------- >>> Valentin Nechayev wrote: VN> /* Always turn on hardware flow control for a direct port when it is VN> opened. There is no other sensible time to turn it on. */ VN> return fsserial_hardflow (qconn, qd->uuconf_fhardflow); VN>Только вот я не понимаю, _где_ было то изменение, когда это активизировалось. Так. fconn_init() получает готовую структуру sport типа struct uuconf_port. Структура отводится в стеке и не инициализируется. При наличии конфига с портами, хитрый цикл вокруг uuconf_find_port() вызывает перезаписывание этой структуры каждый раз при более-менее адекватном матчинге. При отсутствии описанных портов, там находится просто мусор. Что ж, поздравим себя - вся работа cu ранее со сбросом CRTSCTS опиралась только на то, что в стеке после каких-то предыдущих процедур оказывалось 0 (а не 1) в одном из битиков, посему в смене поведения может быть виновно, например, обновление gcc или конкретная настройка CFLAGS данного тазика... Практическая проверка: вставив в cu/cu.c:main() первым исполняемым оператором: memset(&sport, 0, sizeof sport); и пересобрав cu - получили сброс crtscts при старте, убрав memset - получили подъём crtscts при старте. Это всё при отсутствующем /etc/uucp. Сделаю-ка я followup к твоему PR с описанием этого всего... -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/73682b5379cd.html, оценка из 5, голосов 10
|