about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-05-16 21:01:47 +0000
committerEric Wong <normalperson@yhbt.net>2011-05-16 21:01:47 +0000
commitbcd0825fc77a2986aebb3f1f5a653a64faf6a8c5 (patch)
tree43dac7e33b450446fcee87d6081c9e9f5831bc16
parent912c328ecfccf189239c4ad2bb7863d64342868f (diff)
I can't wait until I stop supporting Ruby 1.8
-rw-r--r--lib/rainbows/writer_thread_pool/client.rb2
-rw-r--r--lib/rainbows/writer_thread_spawn/client.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/rainbows/writer_thread_pool/client.rb b/lib/rainbows/writer_thread_pool/client.rb
index fd537ed..4df7f49 100644
--- a/lib/rainbows/writer_thread_pool/client.rb
+++ b/lib/rainbows/writer_thread_pool/client.rb
@@ -18,7 +18,7 @@ class Rainbows::WriterThreadPool::Client < Struct.new(:to_io, :q)
       }
     end
 
-    if Rainbows::Response::COPY_STREAM
+    if Rainbows::Response::COPY_STREAM || IO.method_defined?(:trysendfile)
       def write_response(status, headers, body, alive)
         if body.respond_to?(:close)
           write_response_close(status, headers, body, alive)
diff --git a/lib/rainbows/writer_thread_spawn/client.rb b/lib/rainbows/writer_thread_spawn/client.rb
index de51c17..84c1e7c 100644
--- a/lib/rainbows/writer_thread_spawn/client.rb
+++ b/lib/rainbows/writer_thread_spawn/client.rb
@@ -21,7 +21,7 @@ class Rainbows::WriterThreadSpawn::Client < Struct.new(:to_io, :q, :thr)
       }
     end
 
-    if Rainbows::Response::COPY_STREAM
+    if Rainbows::Response::COPY_STREAM || IO.method_defined?(:trysendfile)
       def write_response(status, headers, body, alive)
         self.q ||= queue_writer
         if body.respond_to?(:close)