Rainbows! Rack HTTP server user/dev discussion
 help / color / Atom feed
* [PATCH] doc: recommend io_splice 4.1.1 or later
@ 2011-05-18  0:43 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2011-05-18  0:43 UTC (permalink / raw)
  To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw

I just pushed this out to rainbows.git and updated the website:

>From 5e4f790847198e1267b2fbd5decfa09e5cc3d618 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org>
Date: Tue, 17 May 2011 17:38:12 -0700
Subject: [PATCH] doc: recommend io_splice 4.1.1 or later

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.
---
 lib/rainbows/configurator.rb |    4 +++-
 t/test_isolate.rb            |    2 +-
 2 files changed, 4 insertions(+), 2 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)
diff --git a/t/test_isolate.rb b/t/test_isolate.rb
index fe2aebc..562f1b6 100644
--- a/t/test_isolate.rb
+++ b/t/test_isolate.rb
@@ -41,7 +41,7 @@ Isolate.now!(opts) do
     gem 'sleepy_penguin', '2.0.0'
 
     # is 2.6.32 new enough?
-    gem 'io_splice', '4.1.0' if `uname -r`.strip > '2.6.32'
+    gem 'io_splice', '4.1.1' if `uname -r`.strip > '2.6.32'
   end
 end
 
-- 
Eric Wong
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-18  0:43 [PATCH] doc: recommend io_splice 4.1.1 or later Eric Wong

Rainbows! Rack HTTP server user/dev discussion

Archives are clonable:
	git clone --mirror http://bogomips.org/rainbows-public
	git clone --mirror http://ou63pmih66umazou.onion/rainbows-public

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows
	nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.rainbows

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git