about summary refs log tree commit homepage
path: root/test/server_helper.rb
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2013-10-26 01:39:49 +0000
committerEric Wong <normalperson@yhbt.net>2013-10-26 02:00:17 +0000
commit14b21f7a162c6f4e76d00d6d08fa9a09524997ae (patch)
treecd36f7f1115cd9f3bc0f003100fb74da5ac5daaf /test/server_helper.rb
parentf38e54f8d54f8cdfdc15f43b2394f0acfff5d413 (diff)
downloadyahns-14b21f7a162c6f4e76d00d6d08fa9a09524997ae.tar.gz
The write buffer may block on a single write and immediately
become unblocked afterwards.  We need to account for this odd
corner case when serving static files; because clients can
trigger strange corner cases like this.
Diffstat (limited to 'test/server_helper.rb')
-rw-r--r--test/server_helper.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/server_helper.rb b/test/server_helper.rb
index aeb0dc9..73d3ec8 100644
--- a/test/server_helper.rb
+++ b/test/server_helper.rb
@@ -79,3 +79,10 @@ module ServerHelper
     end
   end
 end
+
+module TrywriteBlocked
+  def kgio_trywrite(*args)
+    return :wait_writable if $_tw_block_on.include?($_tw_blocked += 1)
+    super
+  end
+end