Commit Graph

6 Commits

Author SHA1 Message Date
Michael Koziarski
6d916329b8 Require thread explicitly rather than relying on rubygems to do it. 2010-12-20 11:16:55 +13:00
Hongli Lai (Phusion)
14b6ab0f01 Fix reloading of metal pieces.
- Do not hold references to old metal objects after metal classes have been reloaded.
- Obtain the reloader lock before building the middleware stack, so that reloading of metal pieces works in the face of multithreading.

[#2873 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-08-15 18:00:49 -07:00
Hongli Lai (Phusion)
a91969803e Correctly unlock the reloader lock if the underlying app raises an exception.
[#2873 state:incomplete]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-08-10 16:18:35 -05:00
Jeremy Kemper
6cbcfffeb1 Ruby 1.9: fix reloader tests using lambdas with no env arg 2009-08-01 20:18:22 -07:00
Hongli Lai (Phusion)
d37ac7958f Make the new code reloading behavior work with multithreaded environments such as Mongrel.
[#2948 state:incomplete]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-08-01 13:25:38 -07:00
Hongli Lai (Phusion)
bc2c4a4595 Cleanup application after #close has been called on the Rack response body, not when AC::Reload#call is done.
The Rack body might lazily evaluate its output, which is for example the case
if one calls 'render :text => lambda { ... }'. The code which lazily evaluates
the output might use other application classes. So we will want to defer
cleanup until the Rack request is completely finished.

Signed-off-by: Michael Koziarski <michael@koziarski.com>
2009-07-08 13:46:10 +12:00