func signalHandler(be backend.Backend) { for { select { case sig := <-signalchan: fmt.Printf("!! Caught signal %d... shutting down\n", sig) be.Sync() return } } }