Fix unclosed database sessions and tunnels (#688)
This commit is contained in:
parent
14d8d80b86
commit
22daaad5a2
@ -301,6 +301,7 @@ func Disconnect(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DbClient = nil
|
||||||
successResponse(c, gin.H{"success": true})
|
successResponse(c, gin.H{"success": true})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,10 @@ func New() (*Client, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewFromUrl(url string, sshInfo *shared.SSHInfo) (*Client, error) {
|
func NewFromUrl(url string, sshInfo *shared.SSHInfo) (*Client, error) {
|
||||||
var tunnel *Tunnel
|
var (
|
||||||
|
tunnel *Tunnel
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
|
||||||
if sshInfo != nil {
|
if sshInfo != nil {
|
||||||
if command.Opts.DisableSSH {
|
if command.Opts.DisableSSH {
|
||||||
@ -79,7 +82,7 @@ func NewFromUrl(url string, sshInfo *shared.SSHInfo) (*Client, error) {
|
|||||||
fmt.Println("Opening SSH tunnel for:", sshInfo)
|
fmt.Println("Opening SSH tunnel for:", sshInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
tunnel, err := NewTunnel(sshInfo, url)
|
tunnel, err = NewTunnel(sshInfo, url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
tunnel.Close()
|
tunnel.Close()
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -524,6 +527,7 @@ func (client *Client) Close() error {
|
|||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
client.closed = true
|
client.closed = true
|
||||||
|
client.tunnel = nil
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if client.tunnel != nil {
|
if client.tunnel != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user