Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev ][Date Next ][Thread Prev ][Thread Next ][Date Index ][Thread Index ]
Re: sendfile() failed (38: Function not implemented)
On Sun, 18 Dec 2005, Alex Kitschkiruk wrote:
а что можно сделать? а как же rtsig метод?
ядро я не могу поменять. это значит, что я остаюсь без Sendfile?
я так понимаю что с ним намного эффективней работается...
а у меня nginx собирается как раз для раздачи огромных файлов.... :(
Неужели отключать sendfile при компиляции? К чему это может привести?
Прилагаемый патч решает эту проблему.
> На машине установлены include'ы для Линукса 2.6, а ядро 2.4.20.
> Поэтому configure нашёл epoll, которого нет в ядре, и sendfile64(),
> который появился только в 2.4.22.
Игорь Сысоев
http://sysoev.ru --- auto/os/linux Mon Nov 28 13:29:22 2005
+++ auto/os/linux Sun Dec 18 11:18:34 2005
@@ -38,7 +38,7 @@
ngx_feature="epoll"
ngx_feature_name="NGX_HAVE_EPOLL"
-ngx_feature_run=no
+ngx_feature_run=yes
ngx_feature_incs="#include <sys/epoll.h>"
ngx_feature_libs=
ngx_feature_test="int efd = 0, fd = 1, n;
@@ -62,12 +62,14 @@
CC_AUX_FLAGS="-D_GNU_SOURCE"
ngx_feature="sendfile()"
ngx_feature_name="NGX_HAVE_SENDFILE"
-ngx_feature_run=no
-ngx_feature_incs="#include <sys/sendfile.h>"
+ngx_feature_run=yes
+ngx_feature_incs="#include <sys/sendfile.h>
+#include <errno.h>"
ngx_feature_libs=
ngx_feature_test="int s = 0, fd = 1;
ssize_t n; off_t off = 0;
- n = sendfile(s, fd, &off, 1)"
+ n = sendfile(s, fd, &off, 1);
+ if (n == -1 && errno == ENOSYS) return 1"
. auto/feature
if [ $ngx_found = yes ]; then
@@ -80,12 +82,14 @@
CC_AUX_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
ngx_feature="sendfile64()"
ngx_feature_name="NGX_HAVE_SENDFILE64"
-ngx_feature_run=no
-ngx_feature_incs="#include <sys/sendfile.h>"
+ngx_feature_run=yes
+ngx_feature_incs="#include <sys/sendfile.h>
+#include <errno.h>"
ngx_feature_libs=
ngx_feature_test="int s = 0, fd = 1;
ssize_t n; off_t off = 0;
- n = sendfile(s, fd, &off, 1)"
+ n = sendfile(s, fd, &off, 1);
+ if (n == -1 && errno == ENOSYS) return 1"
. auto/feature