func (rs *RestartableServer) MaybeRestart() { glog.Infof("Restarting server") c, err := server.LoadConfig(rs.configFile) if err != nil { glog.Errorf("Failed to reload config (server not restarted): %s", err) return } glog.Infof("New config loaded") rs.hs.Stop() rs.authServer.Stop() rs.authServer, rs.hs = ServeOnce(c, rs.configFile, rs.hd) }
func main() { flag.Parse() rand.Seed(time.Now().UnixNano()) glog.CopyStandardLogTo("INFO") cf := flag.Arg(0) if cf == "" { glog.Exitf("Config file not specified") } c, err := server.LoadConfig(cf) if err != nil { glog.Exitf("Failed to load config: %s", err) } rs := RestartableServer{ configFile: cf, hd: &httpdown.HTTP{}, } rs.Serve(c) }