From cd8a874d18fe01e11bb57b91186b6c9f712a4b3f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 10 Mar 2011 15:06:10 -0800 Subject: switch from IO#sendfile_nonblock to IO#trysendfile IO#trysendfile does not raise exceptions for common EAGAIN errors, making it far less expensive to use with the following concurrency models: * Coolio * CoolioFiberSpawn * Revactor * FiberSpawn * FiberPool This requires the new sendfile 1.1.0 RubyGem and removes support for the sendfile 1.0.0. All sendfile users must upgrade or be left without sendfile(2) support. IO#sendfile behaves the same if you're using a multi-threaded concurrency option, but we don't detect nor use it unless IO#trysendfile exists. --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'TODO') diff --git a/TODO b/TODO index a49e0c5..0929aa3 100644 --- a/TODO +++ b/TODO @@ -11,7 +11,7 @@ care about. * allow _OPTIONAL_ splice(2) with DevFdResponse under Linux (splice is very broken under some older kernels) -* use IO#sendfile_nonblock for EventMachine/NeverBlock +* use IO#trysendfile for EventMachine/NeverBlock * Open file cache Rack app/middleware (idea from nginx), since sendfile (and IO.copy_stream) allows pread(2)-style offsets -- cgit v1.2.3-24-ge0c7