Module: PassengerOobGC
- Defined in:
- lib/process-request.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
7 8 9 |
# File 'lib/process-request.rb', line 7 def self.included(base) base.send :alias_method_chain, :close, :gc end |
.install! ⇒ Object
2 3 4 5 |
# File 'lib/process-request.rb', line 2 def self.install! PhusionPassenger::Utils::UnseekableSocket.send :include, self GC.disable end |
Instance Method Details
#close_with_gc ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/process-request.rb', line 11 def close_with_gc begin @socket.close rescue => e raise annotate(e) ensure t = Benchmark.realtime do enabled = GC.enable GC.start GC.disable if enabled end Rails.logger.debug("[PassengerOobGC] closing socket, GC: %.1fms" % [t*1000]) end end |