Linux-2.6.x bug test case

Igor Sysoev is at rambler-co.ru
Tue Sep 19 23:47:01 MSD 2006


С прилагаемым тарболлом нужно проделать следующее:

tar zxf epoll.tar.gz
cd epoll
make

После чего в каталоге epoll будет две программы: epoll и server.
Нужно запустить их в двух терминалах. Сначала server, он будет слушать
на 127.0.0.1:9000, потом epoll, он будет соединяться с сервером.

Сервер должен показать следующее:

-----------
>./server 
accept
close, sleep 60s
-----------

epoll, если ошибки нет, должен показать:

-----------
>./epoll 
epoll_wait: 1, 00000004, 4
epoll_wait: 1, 00000005, 4
read: 8
epoll_wait: 1, 00000005, 4
read: 0
eof read
-----------

и если ошибка есть, то

-----------
>./epoll 
epoll_wait: 1, 00000004, 4
epoll_wait: 1, 00000005, 4
read: 8
epoll_wait: 0, 00000005, 4
epoll_wait timed out
-----------

Ошибка воспроизводится не всегда, у меня получилось воспроизвести на
Linux 2.6.13-15.11-smp из SuSE 10. Если у вас ошибка тоже воспроизвелась,
то подписывайтесь на lkml и шлите туда баг-репорт вместе с прилагаемым
test-case'ом. Заодно спросите, почему постоянно приходят нотификации
EPOLLOUT - в данном случае она должна приходить только первый раз.
Возможно, ошибка проявляется не только в epoll, а просто в потере сигнала
закрытия сокета.


Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epoll.tar.gz
Type: application/x-gunzip
Size: 1391 bytes
Desc: 
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20060919/91da58f4/attachment.bin>


More information about the nginx-ru mailing list