# File lib/phusion_passenger/wsgi/application_spawner.rb, line 53 def spawn_application(options) a, b = UNIXSocket.pair pid = safe_fork(self.class.to_s, true) do a.close file_descriptors_to_leave_open = [0, 1, 2, b.fileno] NativeSupport.close_all_file_descriptors(file_descriptors_to_leave_open) close_all_io_objects_for_fds(file_descriptors_to_leave_open) run(MessageChannel.new(b), options) end b.close Process.waitpid(pid) rescue nil channel = MessageChannel.new(a) return AppProcess.read_from_channel(channel) end