diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-05-17 17:38:12 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-05-17 17:41:42 -0700 |
commit | 5e4f790847198e1267b2fbd5decfa09e5cc3d618 (patch) | |
tree | a800bc5cb56961c6c3030c41053256e7bc895075 /lib/rainbows | |
parent | bc4f5510cd0e5ccf85f077cca019bca70309bf01 (diff) | |
download | rainbows-5e4f790847198e1267b2fbd5decfa09e5cc3d618.tar.gz |
io_splice 4.1.1 works around issues with socket buffers filling up pipe buffers on blocking splice. See http://lkml.org/lkml/2009/1/13/478 for a better explanation.
Diffstat (limited to 'lib/rainbows')
-rw-r--r-- | lib/rainbows/configurator.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/rainbows/configurator.rb b/lib/rainbows/configurator.rb index a1d90cb..1b93fc7 100644 --- a/lib/rainbows/configurator.rb +++ b/lib/rainbows/configurator.rb @@ -190,7 +190,9 @@ module Rainbows::Configurator # end # # Keep in mind that splice(2) itself is a relatively new system call - # and has been buggy in many older Linux kernels. + # and has been buggy in many older Linux kernels. If you're proxying + # the output of sockets to the client, be sure to use "io_splice" + # 4.1.1 or later to avoid stalling responses. # # Default: IO on Ruby 1.9+, false otherwise def copy_stream(klass) |