From 380ef63bc2c8f7b6f1cab7387aa9343bc5720c9c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 9 May 2011 00:02:51 +0000 Subject: add XEpollThreadPool concurrency option This is probably friendlier on server resources in the worst case than XEpollThreadSpawn but may perform worse in the client client-visible way, too. --- t/GNUmakefile | 1 + t/simple-http_XEpollThreadPool.ru | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 t/simple-http_XEpollThreadPool.ru (limited to 't') diff --git a/t/GNUmakefile b/t/GNUmakefile index 408eabf..3d05052 100644 --- a/t/GNUmakefile +++ b/t/GNUmakefile @@ -22,6 +22,7 @@ export RUBY_VERSION RUBY_ENGINE ifeq (Linux,$(shell uname -s)) models += XEpoll models += XEpollThreadSpawn + models += XEpollThreadPool models += Epoll endif models += WriterThreadPool diff --git a/t/simple-http_XEpollThreadPool.ru b/t/simple-http_XEpollThreadPool.ru new file mode 100644 index 0000000..36eb127 --- /dev/null +++ b/t/simple-http_XEpollThreadPool.ru @@ -0,0 +1,10 @@ +use Rack::ContentLength +use Rack::ContentType +run lambda { |env| + if env['rack.multithread'] == true && + env['rainbows.model'] == :XEpollThreadPool + [ 200, {}, [ Thread.current.inspect << "\n" ] ] + else + raise env.inspect + end +} -- cgit v1.2.3-24-ge0c7