Incorrect detection of sendfile functionality with Large File Support
There are a number of Linux systems on which sendfile is not implemented for 64bit files, i.e. under Large File Support. However for a number of reasons these aren't detected by lighttpd's configure script, leading to a daemon which runs but cannot send any files.
The fixes I propose are as follows (both in configure.in):
1. Move Large File Support configuration before sendfile testing.
2. Make the sendfile test include sys/sendfile.h if it exists, otherwise by default a 32bit copy of sendfile will be linked as the system headers which macro sendfile to sendfile64 have not been loaded.
For a patch including both see http://www.perlfu.co.uk/code/lighttpd/lighttpd-1.3.13-broken-lfs-sendfile.diff.
I believe this altered configure should be compatible with platforms other than GNU/Linux, however I have not tested it.
Updated by jan over 17 years ago
- Status changed from New to Fixed
- Resolution set to fixed
applied in r397 to the 1.3.x tree and r398 in 1.4.x
Also available in: Atom