Project

General

Profile

Feature #2836

Remove check for broken sendfile implementations

Added by stbuehler 19 days ago. Updated 15 days ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
build_autotools
Target version:
Start date:
2017-10-31
Due date:
% Done:

100%

Estimated time:
Missing in 1.5.x:

Description

Since svn|r1 autobuild (back then source:svn|configure.in@1#L301, now configure.ac) checks for broken sendfile implementations (HAVE_SENDFILE_BROKEN), and assumes sendfile is always broken when cross compiling.

Imho it's probably safe to drop the check completely, but we could at least assume working sendfile when cross compiling. Users can manually select a server.network-backend in the config anyway.

Associated revisions

Revision 82d37432 (diff)
Added by gstrauss 17 days ago

[autobuild] allow sendfile() in cross-compile (fixes #2836)

allow sendfile() in cross-compile if sys/sendfile.h header detected
and sendfile() symbol detected (e.g. in libc)

If sendfile() is present but always returns ENOSYS, lighttpd will
be slightly less efficient, but will fall back to writev() or write()

User should explicitly set server.network-backend = "writev" in
lighttpd.conf on systems with broken sendfile()

x-ref:
"Remove check for broken sendfile implementations"
https://redmine.lighttpd.net/issues/2836

History

#1

Updated by gstrauss 18 days ago

Makes sense. If sendfile() fails due to not being implemented, we fall back to other mechanisms (writev() or write()).

However, if sendfile is present but broken, then server.network-backend must be explicitly specified in config file to something else, since sendfile is the default if available and server.network-backend is not specified.

#2

Updated by gstrauss 18 days ago

  • Status changed from New to Patch Pending
  • Target version changed from 1.4.x to 1.4.48
#3

Updated by stbuehler 18 days ago

  • Description updated (diff)
#4

Updated by gstrauss 15 days ago

  • Status changed from Patch Pending to Fixed
  • % Done changed from 0 to 100

Also available in: Atom