-class MemCache < Memcached::Rails
- DEFAULT_OPTIONS = Memcached::DEFAULTS.merge(Memcached::Rails::DEFAULTS)
-
- MemCacheError = Memcached::Error
-
- @@connections = []
-
- def initialize(options = {})
- options.reverse_merge! :namespace_separator => ":"
-
- super(MEMCACHE_SERVERS, options)
-
- @@connections.push(self)
-
- ObjectSpace.define_finalizer(self, lambda { |connection|
- @@connections.remove(connection)
- })
- end
-
- def self.connections
- @@connections
- end
-end
-
-if defined?(PhusionPassenger)
- PhusionPassenger.on_event(:starting_worker_process) do |forked|
- if forked
- MemCache.connections.each { |connection| connection.reset }
- end
- end
-end