def start
super
begin
channel = MessageChannel.new(@owner_socket)
result = channel.read
if result.nil?
raise Error, "The framework spawner server exited unexpectedly."
else
status = result[0]
end
if status == 'exception'
child_exception = unmarshal_exception(channel.read_scalar)
stop
message = "Could not load Ruby on Rails framework version #{@framework_version}: " <<
"#{child_exception.class} (#{child_exception.message})"
options = { :version => @framework_version }
if @print_framework_loading_exceptions
print_exception(self.class.to_s, child_exception)
end
raise FrameworkInitError.new(message, child_exception, options)
end
rescue IOError, SystemCallError, SocketError => e
stop if started?
raise Error, "The framework spawner server exited unexpectedly: #{e}"
rescue
stop if started?
raise
end
end