diff options
author | Eric Wong <e+fbsd@80x24.org> | 2014-07-16 19:32:08 +0000 |
---|---|---|
committer | Eric Wong <e+fbsd@80x24.org> | 2014-07-16 19:35:19 +0000 |
commit | 54d8f7898470fa2bb08d308876eecf3e32b33dff (patch) | |
tree | 066362f517f35972b02b7e1a6a21a0c20166a61c /GIT-VERSION-GEN | |
parent | 1fd6784e59e9b6d733b1712573d4689affed0140 (diff) | |
download | yahns-54d8f7898470fa2bb08d308876eecf3e32b33dff.tar.gz |
This bug is noticeable on a amd64 FreeBSD 9.2 VM, and possible under Linux, too. This happens as a zero-copy sendfile implementation means pages queued for transmission by the sendfile system call should not be modified at any point after the sendfile syscall is made. To prevent modification, we replace the temporary file with a new one. This has a similar effect as truncate and can still prevent a dirty flush in cases when a client consumes the response fast enough. This reverts the misguided ade89b5142bedbcf07f38aa062bfdbfcb8bc48d3 commit ("wbuf: hack to avoid response corruption on FreeBSD") Note: this bug was finally fixed because I finally noticed this flaw in a different (non-Ruby, non-HTTP) server of mine.
Diffstat (limited to 'GIT-VERSION-GEN')
0 files changed, 0 insertions, 0 deletions