Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Kostik Belousov                      2:5020/400     20 Dec 2005  13:28:38
 To : Valentin Nechayev
 Subject : Re: mgetty: чудны дела твои...
 -------------------------------------------------------------------------------- 
 
 netch@segfault.kiev.ua (Valentin Nechayev) writes:
 
 > >>> Dennis Chikin wrote:
 > 
 > DC> fd = open(devname, O_RDWR | O_NDELAY | O_NOCTTY );
 > 
 > 6.0-release.
 > Прицепил в ttys скрипт:
 > 
 > #!/bin/sh
 > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
 > ( date; fstat -p $$ ) >>/tmp/ttyd0.dbg
 > exec ktrace -f /tmp/ttyd0.tr -a /usr/local/sbin/mgetty
 > 
 > Смотрю в /tmp/ttyd0.dbg:
 > 
 > Mon Dec 19 13:02:37 EET 2005
 > USER     CMD          PID   FD MOUNT      INUM MODE         SZ|DV R/W
 > root     sh         62011 root /             2 drwxr-xr-x     512  r
 > root     sh         62011   wd /             2 drwxr-xr-x     512  r
 > root     sh         62011 text /           141 -r-xr-xr-x  113940  r
 > root     sh         62011   10 /usr/local 144349 -rwxr-xr-x     205  r
 > 
 > Вывод: при запуске из init'а не открыт ни один дескриптор. (10-й в
 > sh - это исполняемый тут скрипт /usr/local/sbin/ttyd0)
 > 
 > Смотрю что делает mgetty:
 > 
 >  61915 mgetty   CALL  open(0x2807ac39,0,0)
 >  61915 mgetty   NAMI  "/var/run/ld-elf.so.hints"
 >  61915 mgetty   RET   open 1
 > 
 > Это первый сработавший open(). Hулевой дескриптор свободен.
 > Hо возвращается 1. Хм...
 > 
 > Через некоторое количество открытий/закрытий файлов приходим вот сюда:
 > 
 >  61915 mgetty   CALL  open(0xbfbfea80,0x8006,0)
 >  61915 mgetty   NAMI  "/dev/ttyd0"
 >  61915 mgetty   RET   open 1
 >  61915 mgetty   CALL  fcntl(0x1,0x4,0x2)
 >  61915 mgetty   RET   fcntl 0
 >  61915 mgetty   CALL  close(0)
 >  61915 mgetty   RET   close -1 errno 9 Bad file descriptor
 >  61915 mgetty   CALL  dup(0x1)
 >  61915 mgetty   RET   dup 2
 > 
 > То есть в данном случае дескриптор 0 в какой-то странной позе - не
 > занят, но и не свободен? По ману open() не обязан возвращать
 > минимальный дескриптор из свободных, но по Posix - обязан.
 > 
 > Проверяю на обычной программе. Повторить не получается.
 > 
 >  62261 t        CALL  close(0)
 >  62261 t        RET   close 0
 >  62261 t        CALL  dup(0x2)
 >  62261 t        RET   dup 0
 > 
 > это "обычная программа" (в которой только close() и dup())
 > 
 > Хм, пока объяснения нет...
 > 
 > 
 > -netch-
 
 По горячим следам - я изготовил патч и послал followup на PR/87208.
 Просьба протестировать на живых машинах (я проверял в qemu).
 
 kostikbel@gmail.com
 --- ifmail v.2.15dev5.3
  * Origin: The excellent-installed InterNetNews site (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 mgetty: чудны дела твои...   Dennis Chikin   18 Dec 2005 13:39:37 
 Re: mgetty: чудны дела твои...   Eugene Grosbein   18 Dec 2005 18:11:15 
 mgetty: чудны дела твои...   Andrey Ostanovsky   18 Dec 2005 17:18:28 
 Re: mgetty: чудны дела твои...   Andrey Slusar   18 Dec 2005 20:06:48 
 mgetty: чудны дела твои...   Andrey Ostanovsky   18 Dec 2005 23:27:26 
 Re: mgetty: чудны дела твои...   Andrey Slusar   18 Dec 2005 23:46:28 
 mgetty: чудны дела твои...   Andrey Ostanovsky   22 Dec 2005 21:53:32 
 Re: mgetty: чудны дела твои...   Andrey Slusar   22 Dec 2005 21:42:39 
 Re: mgetty: чудны дела твои...   Valentin Nechayev   18 Dec 2005 15:19:02 
 mgetty: чудны дела твои...   Dennis Chikin   19 Dec 2005 10:17:06 
 Re: mgetty: чудны дела твои...   Valentin Nechayev   19 Dec 2005 12:42:06 
 mgetty: чудны дела твои...   Artem S. Ignatiev   18 Dec 2005 23:50:14 
 Re: mgetty: чудны дела твои...   Andrey Slusar   19 Dec 2005 02:13:40 
 Re: mgetty: чудны дела твои...   Valentin Nechayev   19 Dec 2005 15:26:25 
 Re: mgetty: чудны дела твои...   Valentin Nechayev   19 Dec 2005 15:39:38 
 mgetty: чудны дела твои...   Slawa Olhovchenkov   19 Dec 2005 15:53:00 
 Re: mgetty: чудны дела твои...   Valentin Nechayev   19 Dec 2005 16:19:14 
 mgetty: чудны дела твои...   Slawa Olhovchenkov   19 Dec 2005 16:44:32 
 Re: mgetty: чудны дела твои...   Kostik Belousov   20 Dec 2005 13:28:38 
Архивное /ru.unix.bsd/287563919ca4b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional