From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <434D8058.7000308@nm.ru> Date: Thu, 13 Oct 2005 00:30:00 +0300 From: Artem User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050719) X-Accept-Language: en-us, en MIME-Version: 1.0 To: devel-kernel@altlinux.ru Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [d-kernel] =?koi8-r?b?zyBwcHBkLCDH0tXQ0MHIINDSz8PF09PP1ywg1MXS?= =?koi8-r?b?zcnOwczByCwgL2Rldi9wdHMgySBTSUdIVVA=?= X-BeenThere: devel-kernel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Oct 2005 21:31:05 -0000 Archived-At: List-Archive: List-Post: Доброго всем времени суток. Небольшое введение. Имеется аппаратный модем на /dev/ttyS0. + pppd . При разрыве соединения по вине модема - pppd шлется SIGHUP. Насколько я понял из чтения исходников kernel, ядром ( см. tty_io.c ) посылаются SIGHUP и SIGCONT группе процессов, связанных с данным терминалом. Т.е. выполняется функция do_tty_hangup (см. kernel-source/drivers/char/tty_io.c). Далее.. Имеется софтмодем (slmodemd + snd_intel8x0m). Работает все это дело через /dev/pts (устройство модема /dev/ttySLM0 является symlink-ом на /dev/ptx/x, где x - вирт. вторичный терминал, выделенный для связи pppd или чего там еще с slmodemd. Slmodemd слушает на другом конце - /dev/ptmx Вопрос. Как реализовать поведение /dev/pts, аналогичное с поведением /dev/ttySx ? Судя по исходникам /dev/pts - это всего лишь фс (в подробностях реализации не разбирался - это каналы? ). Функций, подобных tty_hangup в /dev/pts я не обнаружил. Неужели единственным вариантом является сканирование /proc на предмет открытого процессами /dev/pts/x и отсылка всем обнаруженным процессам SIGHUP- а? Ведь при обрыве соединения по вине софтмодема - pppd работает дальше, не зная о том, что физический уровень уже давно в дауне. Соответственно - никакого пересоединения. Rgds, Artem