class Puma::Launcher

def restart!

def restart!
  @events.fire_on_restart!
  @config.run_hooks :on_restart, self, @log_writer
  if Puma.jruby?
    close_binder_listeners
    require_relative 'jruby_restart'
    JRubyRestart.chdir_exec(@restart_dir, restart_args)
  elsif Puma.windows?
    close_binder_listeners
    argv = restart_args
    Dir.chdir(@restart_dir)
    Kernel.exec(*argv)
  else
    argv = restart_args
    Dir.chdir(@restart_dir)
    ENV.update(@binder.redirects_for_restart_env)
    argv += [@binder.redirects_for_restart]
    Kernel.exec(*argv)
  end
end