diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-01-24 20:04:20 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-01-24 20:07:09 -0800 |
commit | 667b05819b85165061c445fb2c75ef161a5de5b6 (patch) | |
tree | af69ab3fe1f143c408c6c9013debf1c9afe26c72 /t/simple-http_XAcceptEpoll.ru | |
parent | 9f7f497dc21d904a1af20465318d85811daf0652 (diff) | |
download | rainbows-667b05819b85165061c445fb2c75ef161a5de5b6.tar.gz |
Edge-triggered epoll concurrency model with blocking accept() in a (hopefully) native thread. This is recommended over Epoll for Ruby 1.9 users as it can workaround accept()-scalability issues on multicore machines.
Diffstat (limited to 't/simple-http_XAcceptEpoll.ru')
-rw-r--r-- | t/simple-http_XAcceptEpoll.ru | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/t/simple-http_XAcceptEpoll.ru b/t/simple-http_XAcceptEpoll.ru new file mode 100644 index 0000000..fc0baa6 --- /dev/null +++ b/t/simple-http_XAcceptEpoll.ru @@ -0,0 +1,9 @@ +use Rack::ContentLength +use Rack::ContentType +run lambda { |env| + if env['rack.multithread'] == false && env['rainbows.model'] == :XAcceptEpoll + [ 200, {}, [ Thread.current.inspect << "\n" ] ] + else + raise env.inspect + end +} |