Rails assumption about getting new thread on each request


#1

hi all,

i am wondering if there is consensus around whether it is an
assumption of the rails core that each request will be served by a
new, clean thread? i ask because i am using Thread.current hash and
while mongrel seems to handle each request with a new thread and so
Thread.current is clean, passenger serves the same thread each time.

besides my own selfish uses, this seems to be pertinent to several
places in rails core where Thread.current is set with ||=

ror/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/
lib/i18n.rb:40: Thread.current[:locale] ||= default_locale
ror/vendor/rails/activesupport/lib/active_support/core_ext/time/
zones.rb:15: Thread.current[:time_zone] || zone_default
ror/vendor/rails/activerecord/lib/active_record/base.rb:2189:
Thread.current[:"#{self}_scoped_methods"] ||= self.default_scoping.dup

so, what is the expected behavior for a webserver?