about summary refs log tree commit homepage
path: root/lib/yahns/wbuf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/yahns/wbuf.rb')
-rw-r--r--lib/yahns/wbuf.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/yahns/wbuf.rb b/lib/yahns/wbuf.rb
index 1a24aab..f857a60 100644
--- a/lib/yahns/wbuf.rb
+++ b/lib/yahns/wbuf.rb
@@ -50,12 +50,12 @@ class Yahns::Wbuf # :nodoc:
     # try to bypass the VFS layer and write directly to the socket
     # if we're all caught up
     case rv = String === buf ? c.kgio_trywrite(buf) : c.kgio_trywritev(buf)
-    when String, Array
-      buf = rv # retry in loop
     when nil
       return # yay! hopefully we don't have to buffer again
     when :wait_writable, :wait_readable
       @busy = rv
+    else # String, Array
+      buf = rv # retry in loop
     end until @busy
 
     @tmpio ||= Yahns::TmpIO.new(@tmpdir)