Release Name: 4.1.1
Notes:
Zbatery 4.1.1 - small bugfix
Zbatery is an HTTP server for Rack applications on systems that either
do not support fork(), or have no memory (nor need) to run the
master/worker model. It is based on Rainbows! (which is based on
Unicorn (which is based on Mongrel)) and inherits parts of each.
Zbatery supports your choice of all the thread/fiber/event/actor-based
concurrency models and Rack middleware that Rainbows! supports (or will
ever support) in a single process.
* http://zbatery.bogomip.org/
* rainbows-talk@rubyforge.org
* git://bogomips.org/zbatery.git
* http://zbatery.bogomip.org/NEWS.atom.xml
Changes:
This release fixes a potential reentrancy deadlock when
using the default logger from the Ruby standard library.
Changes:
GIT-VERSION-GEN | 2 +-
lib/zbatery.rb | 18 ++++++++++--------
2 files changed, 11 insertions(+), 9 deletions(-)
commit b6b36c534ae1b6f8120d3e48eca47463f21b06ea
Author: Eric Wong
Date: Fri Sep 2 02:20:04 2011 +0000
Zbatery 4.1.1 - small bugfix
This release fixes a potential reentrancy deadlock when
using the default logger from the Ruby standard library.
commit 30ab37594677c12a4884d7199d808a8a28832549
Author: Eric Wong
Date: Wed Aug 31 07:54:25 2011 +0000
avoid potential Logger deadlocks in signal handling
If any combination of signals are sent to Zbatery in a short
period of time, the Mutex used by the default Logger
implementation may deadlock since Mutex synchronization is not
reentrant-safe.
By spawning a thread, we can take advantage of the thread-safety
and avoid the reentrancy-safety issue of acquiring a mutex
inside a signal handler.
Users of alternative logger implementations (or monkey-patched
ones) are possibly not affected. Users of the logger_mp_safe.rb
monkey-patch distributed[1] with unicorn are not affected.
[1] http://unicorn.bogomips.org/examples/logger_mp_safe.rb
|