From dae99c99a15c7111e09a740b0e79fe6a67103a61 Mon Sep 17 00:00:00 2001 From: Chen-I Lim Date: Tue, 9 Feb 2021 17:00:14 -0800 Subject: [PATCH] Win app: defer cleanup --- win/main.go | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/win/main.go b/win/main.go index 84a34e03e..f4864fc48 100644 --- a/win/main.go +++ b/win/main.go @@ -53,14 +53,26 @@ func main() { ctx, cancel := context.WithCancel(context.Background()) cmd := runServer(ctx) + defer func() { + fmt.Println("Cleanup") + cancel() + if err := cmd.Process.Kill(); err != nil { + log.Fatal("failed to kill server process: ", err) + } + + if r := recover(); r != nil { + log.Fatal("ERROR: ", r) + } + }() + ui, err := lorca.New("", "", 1024, 768) if err != nil { - log.Fatal(err) + log.Panic(err) } - // defer ui.Close() + defer ui.Close() if err := ui.Load("http://localhost:8088"); err != nil { - log.Fatal(err) + log.Panic(err) } script := fmt.Sprintf("localStorage.setItem('sessionId', '%s');", sessionToken) @@ -73,10 +85,6 @@ func main() { <-ui.Done() log.Printf("App Closed") - cancel() - if err := cmd.Process.Kill(); err != nil { - log.Fatal("failed to kill process: ", err) - } } func hideConsole() {