С прилагаемым тарболлом нужно проделать следующее:
tar zxf epoll.tar.gz cd epoll make
После чего в каталоге epoll будет две программы: epoll и server. Нужно запустить их в двух терминалах. Сначала server, он будет слушать
на 127.0.0.1:9000, потом epoll, он будет соединяться с сервером.
Ошибка воспроизводится не всегда, у меня получилось воспроизвести на
Linux 2.6.13-15.11-smp из SuSE 10. Если у вас ошибка тоже воспроизвелась, то подписывайтесь на lkml и шлите туда баг-репорт вместе с прилагаемым test-case'ом. Заодно спросите, почему постоянно приходят нотификации
EPOLLOUT - в данном случае она должна приходить только первый раз. Возможно, ошибка проявляется не только в epoll, а просто в потере сигнала закрытия сокета.
home:~/epoll/epoll# uname -a Linux home.kovyrin.net2.6.17.3
#2 PREEMPT Sat Jul 8 02:05:22 EEST 2006 i686 GNU/Linux
Игорь, можешь сформулировать на русском вопрос, который нужно задать? Я сделаю пост в lklm и добавлю баг в багзиллу их. Мы интенсивно юзаем nginx на
2.6 и не хотелось бы наступить на эти грабли (еслт уже не наступили).