Rainbows! is a HTTP server for sleepy Rack applications.  It is based on
Unicorn, but designed to handle applications that expect long
request/response times and/or slow clients.  For Rack applications not
heavily bound by slow external network dependencies, consider Unicorn
instead as it simpler and easier to debug.

* http://rainbows.rubyforge.org/
* rainbows-talk / rubyforge.org
* git://git.bogomips.org/rainbows.git

Changes:

Client shutdowns/errors when streaming "rack.input" into the
Rack application are quieter now.  Rev and EventMachine workers
now shutdown correctly when the master dies.  Worker processes
now fail gracefully if log reopening fails.  ThreadSpawn and
ThreadPool models now load Unicorn classes in a thread-safe way.

There's also an experimental RevThreadSpawn concurrency
model which may be heavily reworked in the future...

Eric Wong (31):
      Threaded models have trouble with late loading under 1.9
      cleanup worker heartbeat and master deathwatch
      tests: allow use of alternative sha1 implementations
      rev/event_machine: simplify keepalive checking a bit
      tests: sha1.ru now handles empty bodies
      rev: split out further into separate files for reuse
      rev: DeferredResponse is independent of parser state
      remove unnecessary class variable
      ev_core: cleanup handling of APP constant
      rev: DeferredResponse: always attach to main loop
      initial cut of the RevThreadSpawn model
      rev_thread_spawn/revactor: fix TeeInput for short reads
      rev_thread_spawn: make 1.9 TeeInput performance tolerable
      tests: add executable permissions to t0102
      tests: extra check to avoid race in reopen logs test
      rev_thread_spawn: 16K chunked reads work better
      tests: ensure proper accounting of worker_connections
      tests: heartbeat-timeout: simplify and avoid possible race
      tests: ensure we process "START" from FIFO when starting
      http_response: don't "rescue nil" for body.close
      cleanup error handling pieces
      tests: more stringent tests for error handling
      revactor/tee_input: unnecessary error handling
      gracefully exit workers if reopening logs fails
      revactor/tee_input: raise ClientDisconnect on EOFError
      bump versions since we depend on Unicorn::ClientShutdown
      FAQ: updates for Rails and SSL-using sites
      revactor/tee_input: share error handling with superclass
      RevThreadSpawn is still experimental
      Revert "Threaded models have trouble with late loading under 1.9"
      Rakefile: add raa_update task
-- 
Eric Wong