Files | Admin

Notes:

Release Name: 1.1.3

Notes:
Unicorn is an HTTP server for Rack applications designed to only serve
fast clients on low-latency, high-bandwidth connections and take
advantage of features in Unix/Unix-like kernels.  Slow clients should
only be served by placing a reverse proxy capable of fully buffering
both the the request and response in between Unicorn and slow clients.

* http://unicorn.bogomips.org/
* mongrel-unicorn@rubyforge.org
* git://git.bogomips.org/unicorn.git

Changes:

This release fixes race conditions during SIGUSR1 log cycling.
This bug mainly affects Rainbows! users serving static files,
but some Rack apps use threads internally even under Unicorn.

Other small fixes:
* SIGTTIN works as documented after SIGWINCH
* --help output from `unicorn` and `unicorn_rails` is more consistent



Changes: GIT-VERSION-GEN | 2 +- Rakefile | 2 +- bin/unicorn | 9 ++++--- bin/unicorn_rails | 2 +- lib/unicorn.rb | 2 + lib/unicorn/const.rb | 4 +- lib/unicorn/util.rb | 28 +++++++++++++++++----- t/rails3-app/Gemfile | 2 +- t/t0009-winch_ttin.sh | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ t/test-rails3.sh | 2 +- 10 files changed, 94 insertions(+), 18 deletions(-) commit d634b0699c8eceece5694680be0fc5e731717d92 Author: Eric Wong Date: Sat Aug 28 18:38:39 2010 +0000 unicorn 1.1.3 - small bug fixes This release fixes race conditions during SIGUSR1 log cycling. This bug mainly affects Rainbows! users serving static files, but some Rack apps use threads internally even under Unicorn. Other small fixes: * SIGTTIN works as documented after SIGWINCH * --help output from `unicorn` and `unicorn_rails` is more consistent commit ca8ed32c8cc990c7e64b6bd7168808a83405a5a5 Author: Eric Wong Date: Sat Aug 28 18:52:48 2010 +0000 make log reopens even more robust in threaded apps A follow-up to 4b23693b9082a84433a9e6c1f358b58420176b27 If multithreaded programming can be compared to juggling chainsaws, then multithreaded programming with signal handlers in play is akin to juggling chainsaws on a tightrope over shark-infested waters. (cherry picked from commit feab35fe531843066db3418598874cf9f9419614) commit 27f4d6ed7c7758620b54deccae319ba7aa9d40eb Author: Eric Wong Date: Sat Aug 28 07:07:14 2010 +0000 update Rails3 tests to use 3.0.0rc2 No code changes needed, thankfully. (cherry picked from commit 18968f6aff2fa5ba5a7e3e3d47c9cc05cd6c260d) commit 7309e4b73e134ee7969cc8150b6ebaa6b8f8cb62 Author: Eric Wong Date: Sat Aug 28 05:30:46 2010 +0000 make log reopens more robust in multithreaded apps IOError may occur due to race conditions as another thread may close the file immediately after we call File#closed? to check. Errno::EBADF may occur in some applications that close a file descriptor without notifying Ruby (or if two IO objects refer to the same descriptor, possibly one of them using IO#for_fd). (cherry picked from commit 4b23693b9082a84433a9e6c1f358b58420176b27) commit aa599d00907df159f8b33a62108bfa88f407392e Author: Eric Wong Date: Tue Aug 24 06:21:00 2010 +0000 bin/*: more consistent --help output This fixes a long-standing bug in the output of "unicorn_rails" where the program name was missing. (cherry picked from commit 096afc1a8e958cc09b4ce8b3bfe76ce056c7ed69) commit cca4c46dd8cd72afedd9c5d024d47b4554f00c53 Author: Eric Wong Date: Fri Jul 16 08:25:32 2010 +0000 SIGTTIN works after SIGWINCH In addition to SIGHUP, it should be possible to gradually bring workers back up (to avoid overloading the machine) when rolling back upgrades after SIGWINCH. Noticed-by: Lawrence Pit ref: http://mid.gmane.org/4C3F8C9F.2090903@gmail.com (cherry picked from commit f1d33c80dd6c5650f960f7087f4e08f809754d34)