about summary refs log tree commit homepage
path: root/lib/rainbows/xepoll_thread_spawn
DateCommit message (Collapse)
2011-05-16more reliable shutdown for epoll concurrency models
Just close the epoll descriptor, since the sleepy_penguin epoll_wait wrapper may not return EINTR in the future.
2011-05-10configurator: move validation logic over
There's actually no reason we can't have these methods in Rainbows::Configurator where it's easier to document nowadays.
2011-05-09xepoll_thread_spawn/client: remove rdoc
It's an internal implementation detail.
2011-05-08epoll_wait: flags argument is unused
We only poll for one event (EPOLLIN/EPOLLOUT) at a time, so there's no need to actually check since they're too rare.
2011-05-08xepoll_thread_spawn: rework acceptor logic
Infinite sleep is too dangerous due to possible race conditions, so use worker_yield which is safer and cheaper in the general case. We can also avoid sleeping on new threads by only spawning when the client module is included.
2011-05-08xepoll_thread_spawn/client: close returns nil
Otherwise pipeline_ready can false positive on us
2011-05-08xepoll_thread_spawn: inline needless method
shorter line and 3 lines of code killed!
2011-05-06remove unnecessary variable assignments
2011-05-06ensure some requires get loaded in master
More sharing, faster startups, and most importantly, better error reporting if some things are missing.
2011-05-03add client_header_buffer_size tuning parameter
We're changing our default to 1K buffers to save memory. This should reduce memory usage of idle clients and lower pressure on the MRI GC. Rails applications using session cookies (the default) may want to up this to 2K or more.
2011-04-30xepoll_thread_spawn: lower memory usage
This one actually has a realistic chance of running hundreds/thousands of clients, and 32K per-client is a huge amount.
2011-04-29xepoll_thread_spawn: fix race condition with acceptors
Noticed under 1.8.7
2011-04-29xepoll_thread_spawn: initial implementation
Whee! This is going to be awesome.