diff options
Diffstat (limited to 'lib/yahns/sendfile_compat.rb')
-rw-r--r-- | lib/yahns/sendfile_compat.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/yahns/sendfile_compat.rb b/lib/yahns/sendfile_compat.rb index da2a9ec..6d4cc56 100644 --- a/lib/yahns/sendfile_compat.rb +++ b/lib/yahns/sendfile_compat.rb @@ -11,13 +11,13 @@ module Yahns::SendfileCompat str = io.read(count, buf) or return # nil for EOF n = 0 case rv = kgio_trywrite(str) - when String # partial write, keep trying - n += (str.size - rv.size) - str = rv when :wait_writable, :wait_readable return n > 0 ? n : rv when nil return n + str.size # yay! + else # String # partial write, keep trying + n += (str.size - rv.size) + str = rv end while true end end |