From 22daaad5a247d3d48b2d2b9cb8f696425bb0c052 Mon Sep 17 00:00:00 2001 From: Dan Sosedoff Date: Sun, 10 Sep 2023 11:46:31 -0500 Subject: [PATCH] Fix unclosed database sessions and tunnels (#688) --- pkg/api/api.go | 1 + pkg/client/client.go | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/api/api.go b/pkg/api/api.go index 7e5a684..05d293a 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -301,6 +301,7 @@ func Disconnect(c *gin.Context) { return } + DbClient = nil successResponse(c, gin.H{"success": true}) } diff --git a/pkg/client/client.go b/pkg/client/client.go index e715740..0d3988b 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -69,7 +69,10 @@ func New() (*Client, error) { } func NewFromUrl(url string, sshInfo *shared.SSHInfo) (*Client, error) { - var tunnel *Tunnel + var ( + tunnel *Tunnel + err error + ) if sshInfo != nil { if command.Opts.DisableSSH { @@ -79,7 +82,7 @@ func NewFromUrl(url string, sshInfo *shared.SSHInfo) (*Client, error) { fmt.Println("Opening SSH tunnel for:", sshInfo) } - tunnel, err := NewTunnel(sshInfo, url) + tunnel, err = NewTunnel(sshInfo, url) if err != nil { tunnel.Close() return nil, err @@ -524,6 +527,7 @@ func (client *Client) Close() error { } defer func() { client.closed = true + client.tunnel = nil }() if client.tunnel != nil {