https://bz.apache.org/bugzilla/show_bug.cgi?id=39916
--- Comment #3 from Sara Ray <[email protected]> --- (In reply to Paul Querna from comment #0) > Using trunk, httpd is having problems sending files using sendfile() on > FreeBSD. https://scratchgeometrydash.com > 2.2.x does not seem to have this problem. > > If EnableSendfile off is set, it works correctly. > > I believe the problem is in server/core_filters.c, in send_brigade_blocking. > I > don't believe the socket is being woken up correctly when the socket is ready > for more data. It looks like you're dealing with an issue in httpd on FreeBSD when using sendfile() in a newer version of Apache (2.4.x or later) compared to an older version (2.2.x). The issue seems related to the use of sendfile() and its integration with Apache’s core_filters.c. Check for Known Issues and Updates: Ensure you are running the latest version of Apache 2.4.x and check the release notes or bug reports for any known issues related to sendfile() on FreeBSD. Look for any specific patches or updates related to FreeBSD and sendfile() in newer versions of Apache. Review send_brigade_blocking Implementation: Investigate the send_brigade_blocking function in core_filters.c to understand how it handles the socket and sendfile() operations. Confirm that the socket is being properly managed and that any changes in the socket state (e.g., when it's ready for more data) are handled correctly. Adjust Apache Configuration: Since EnableSendfile off works correctly, you can temporarily disable sendfile() as a workaround. However, this might reduce performance due to increased CPU usage for file transfer. Test different configurations for EnableSendfile and EnableMMAP to see if they impact the behavior. Patch or Modify Code: If you have identified a specific issue in the send_brigade_blocking function, you might need to patch the Apache source code yourself or find a community-provided patch. Consider testing changes in a development environment before applying them to production. Consult FreeBSD and Apache Communities: Seek advice from the FreeBSD and Apache user communities. They might have encountered similar issues and could provide solutions or workarounds. Check forums, mailing lists, or community support channels for any related discussions or solutions. Update or Revert: If you recently upgraded Apache or FreeBSD, consider reverting to the previous versions where sendfile() worked correctly, or update to newer versions if fixes have been released. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
