только что поставил на новый сервер.
при начальной конфигурации нашел epool
checking for OS
+ Linux 2.4.20-021stab028.19.777-enterprise i686
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for C compiler ... GNU C compiler
+ gcc version: 3.2.3 20030502 (Red Hat Linux 3.2.3-49)
checking for gcc -pipe switch ... found
checking for gcc variadic macros ... found
checking for C99 variadic macros ... found
checking for Linux specific features
+ rt signals found
checking for epoll ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for sched_setaffinity() ... not found
checking for poll() ... found
checking for /dev/poll ... not found
Но при включении epool выдается
2005/12/17 01:58:30 [emerg] 30528#0: bind() to 0.0.0.0:80 failed (98:
Address already in use)
2005/12/17 01:58:30 [notice] 30528#0: try again to bind() after 500ms
2005/12/17 02:02:19 [notice] 2434#0: using the "epoll" event method
2005/12/17 02:02:19 [debug] 2434#0: counter: 40013080, 1
и отправляется пустой файл, хоят я апач полностью отключил
А при rtsig
2005/12/17 02:03:41 [notice] 2457#0: using the "rtsig" event method
2005/12/17 02:04:54 [crit] 3232#0: *1 sendfile() failed (38: Function not
implemented) while sending response to client, client: 85.75.183.200,
server: local
2005/12/17 02:04:54 [debug] 3232#0: *1 http write filter FFFFFFFF
Есть подозрение, что при любом методе не работает sendfile()
Но как это возможно?
На машине установлены include'ы для Линукса 2.6, а ядро 2.4.20.
Поэтому configure нашёл epoll, которого нет в ядре, и sendfile64(),
который появился только в 2.4.22.
Игорь Сысоев
http://sysoev.ru