Files | Admin

Notes:

Release Name: 4.1.0

Notes:
Rainbows! 4.1.0 - minor internal cleanups

Rainbows! is an 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.

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

Changes:

There are only some minor cleanups in this release and a bump to
kgio 2.5 to remove the dependency on io/wait.  kgio 2.5 or later
is now required (kgio 2.6+ will be required in the next
release).



Changes: GIT-VERSION-GEN | 2 +- bin/rainbows | 5 +++-- lib/rainbows.rb | 16 ++-------------- lib/rainbows/client.rb | 25 ------------------------- lib/rainbows/const.rb | 2 +- lib/rainbows/fiber/coolio/methods.rb | 2 +- lib/rainbows/fiber/io/methods.rb | 2 +- lib/rainbows/process_client.rb | 21 ++++++++++++++++++++- lib/rainbows/socket_proxy.rb | 8 ++++++++ rainbows.gemspec | 4 ++-- t/t0044-autopush.sh | 4 ++-- 11 files changed, 41 insertions(+), 50 deletions(-) commit 8134763f3cc8403ef0e718aa511b192d305a0182 Author: Eric Wong Date: Sat Jul 30 22:25:31 2011 +0000 Rainbows! 4.1.0 - minor internal cleanups There are only some minor cleanups in this release and a bump to kgio 2.5 to remove the dependency on io/wait. kgio 2.5 or later is now required (kgio 2.6+ will be required in the next release). commit 1e57c4c846ba9a3b736078b860583b0e7dd33d6c Author: Eric Wong Date: Thu Jul 21 23:27:18 2011 +0000 remove tcp_nodelay/tcp_nopush tweaking Unicorn 4.x already defaults match those of Rainbows! to favor lower latency instead of lowered bandwidth usage. commit 175727bc349ec0f7b94b4de936c7e9de1aaffd2d Author: Eric Wong Date: Thu Jul 21 23:17:48 2011 +0000 remove unnecessary io/wait require kgio 2.5 added kgio_wait_*able methods commit 19a7c3afcb22af75ac3afc358e96325d00415ace Author: Eric Wong Date: Wed Jun 29 19:57:05 2011 +0000 Revert "http_server: cap timeout at 32-bit LONG_MAX seconds" Unicorn (> 4.0.1) already handles this for us, not that it affects many people... This reverts commit 37c376a9253ed62d134cbb4dbc6eaecc6076c77e. commit c3982b7c043effcfa897086a221567c035603352 Author: Eric Wong Date: Tue Jun 28 23:32:26 2011 +0000 t0044: do not assume setsockopt() finished Race conditions abound in the world of concurrency! commit 65f251070ce9b61a9049cb413fccffdfa11e7a70 Author: Eric Wong Date: Tue Jun 28 08:17:01 2011 +0000 Fix Fiber* and WriterThread* breakage from removing io/wait This fixes up breakage introduced in commit 905f0ff393629ddb4d70e3dc221b016128c47415 to switch to kgio for timed, synchronous waiting. commit 905f0ff393629ddb4d70e3dc221b016128c47415 Author: Eric Wong Date: Tue Jun 28 07:39:35 2011 +0000 require kgio 2.5 for kgio_wait_readable(timeout) Since kgio_wait_*able in kgio 2.5 takes an optional timeout argument, we no longer have to load the extra "io/wait" module. This saves us a small amount of some memory and also removes the extra ioctl(FIONREAD) syscall IO#wait enforces. Like IO#wait in Ruby 1.9.3dev, kgio_wait_readable may use ppoll() to wait on high-numbered file descriptors as efficiently as it waits on low-numbered descriptors. commit 9684ed46e78dab1ae787fe135a3cec1c4490ddd6 Author: Eric Wong Date: Tue Jun 28 07:20:27 2011 +0000 bin/rainbows: release the OptionParser object from stack No point in keeping it around to eat memory. commit 37c376a9253ed62d134cbb4dbc6eaecc6076c77e Author: Eric Wong Date: Mon Jun 27 21:20:42 2011 +0000 http_server: cap timeout at 32-bit LONG_MAX seconds We can't wait for longer than 68 years.