diff options
Diffstat (limited to 'exit.go')
| -rw-r--r-- | exit.go | 29 |
1 files changed, 15 insertions, 14 deletions
@@ -4,37 +4,38 @@ package main import ( - "os" - "go.wit.com/gui" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) -func okExit(thing string) { +func forgeShutdown() { gui.UnloadToolkits() if configSave { me.forge.SetConfigSave(configSave) } - if thing != "" { - log.Info("forge exit:", thing, "ok") + if err := me.forge.Close(); err != nil { + log.Info("ABNORMAL END", err) } - me.forge.Exit() +} + +func okExit(thing string) { + forgeShutdown() + me.sh.GoodExit(thing) } func badExit(err error) { - log.Info(err) - log.Info("forge failed") - os.Exit(-1) + forgeShutdown() + me.sh.BadExit("forge failed", err) } func newBadExit(msg string, err error) { - log.Info(err) - log.Info(msg) - os.Exit(-1) + forgeShutdown() + me.sh.BadExit(msg, err) } func badRepoExit(repo *gitpb.Repo, err error) { - log.Printf("%s FAILED: %v\n", repo.GetNamespace(), err) - os.Exit(-1) + forgeShutdown() + s := log.Sprintf("%s FAILED: %v", repo.GetNamespace(), err) + me.sh.BadExit(s, err) } |
