Skip to content

Commit d76b3be

Browse files
authored
Release terminal on exit (#156)
1 parent b12cd5e commit d76b3be

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

tunnel/internal/client/client/client.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,21 @@ func NewClient(config *config.Config, db *db.Db) *Client {
2424
p := tui.New(config.Debug)
2525

2626
go func() {
27+
defer func() {
28+
if r := recover(); r != nil {
29+
_ = p.ReleaseTerminal()
30+
fmt.Printf("Recovered from panic: %v\n", r)
31+
os.Exit(1)
32+
}
33+
}()
34+
2735
if _, err := p.Run(); err != nil {
36+
_ = p.ReleaseTerminal()
37+
fmt.Printf("Failed to run TUI: %v\n", err)
2838
os.Exit(1)
2939
}
40+
41+
_ = p.ReleaseTerminal()
3042
os.Exit(0)
3143
}()
3244

0 commit comments

Comments
 (0)