about summary refs log tree commit homepage
path: root/lib/rainbows/revactor.rb
DateCommit message (Collapse)
2009-10-11revactor: continue fchmod beat in graceful exit
Avoid overloading the "alive" variable here and wakeup less frequently as well to do the fchmod.
2009-10-11revactor: graceful death of keepalive clients
We'll finish processing the current request and set the "Connection: close" header if possible.
2009-10-11revactor: cleanups and remove redundancy
2009-10-11revactor: break on EBADF in the accepting actors
Once our listeners get closed, we're as good as dead so we should exit to avoid spinning.
2009-10-11expand and share init_worker_process
This can be common across everything
2009-10-11factor out common listen loop error handling
It'll be easier to maintain a common language for logging and debugging.
2009-10-08fchmod heartbeat flips between 0/1
This is for compatibility with OpenBSD as reported by Jeremy Evans for Unicorn.
2009-10-05huge documentation revamp
2009-10-04revactor: graceful exit if a listening actor dies
It's usually a bad sign if we have unhandled exceptions in the listener loops, so we'll exit just in case.
2009-10-04revactor: implement actor limiting
While we're at it, make it properly 100% message-driven so there's no more busy-waiting and polling for dead actors, No we just wait for client actors to die off and resume listener actors if they stopped accepting.
2009-10-04revactor: allow UNIX domain socket listeners
Revactor may be gaining support for UNIX domain socket listeners soon, so factor out revactorize_listeners into its own method that can conditionally handle UNIX domain sockets if our Revactor version supports it. Patch for Revactor submitted here: http://rubyforge.org/pipermail/revactor-talk/2009-October/000035.html
2009-10-03common Base class for all concurrency models
They're similar enough (especially as far as the constants go) and allows a :Base to be used which basically acts like plain Unicorn but with HTTP keepalive + pipelining support
2009-10-03revactor: workaround for Revactor still using Rev::Buffer
Patch submitted upstream: http://rubyforge.org/pipermail/revactor-talk/2009-October/000034.html
2009-10-02set "encoding: binary" for all files
2009-10-02initial revision
No tests yet, but the old "gossamer" and "rainbows" branches seem to be basically working.