# Setup any specified hard limit on the virtual size of the process
-if defined?(HARD_MEMORY_LIMIT) and Process.const_defined?(:RLIMIT_AS)
+if defined?(HARD_MEMORY_LIMIT) and defined?(PhusionPassenger) and Process.const_defined?(:RLIMIT_AS)
Process.setrlimit Process::RLIMIT_AS, HARD_MEMORY_LIMIT*1024*1024, Process::RLIM_INFINITY
end
# Restart if we've hit our memory limit
if resident_size > SOFT_MEMORY_LIMIT
- Process.kill("USR1", 0)
+ Process.kill("USR1", Process.pid)
end
# Return the result of this request