summaryrefslogtreecommitdiff
path: root/exit.go
diff options
context:
space:
mode:
Diffstat (limited to 'exit.go')
-rw-r--r--exit.go29
1 files changed, 15 insertions, 14 deletions
diff --git a/exit.go b/exit.go
index 7b9fa8c..8b07d0c 100644
--- a/exit.go
+++ b/exit.go
@@ -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)
}