def self.passenger_tmpdir(create = true)
dir = @@passenger_tmpdir
if dir.nil? || dir.empty?
tmpdir = "/tmp"
["PASSENGER_TEMP_DIR", "PASSENGER_TMPDIR"].each do |name|
if ENV.has_key?(name) && !ENV[name].empty?
tmpdir = ENV[name]
break
end
end
dir = "#{tmpdir}/passenger.1.0.#{Process.pid}"
dir.gsub!(%r{//+}, '/')
@@passenger_tmpdir = dir
end
if create && !File.exist?(dir)
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", dir)
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", "#{dir}/generation-0")
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", "#{dir}/backends")
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", "#{dir}/spawn-server")
end
return dir
end