sendfile() failed (38: Function not implemented)
Igor Sysoev
is at rambler-co.ru
Sun Dec 18 11:33:48 MSK 2005
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
-------------- next part --------------
--- 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
More information about the nginx-ru
mailing list