diff options
author | Runxi Yu <me@runxiyu.org> | 2025-08-17 04:20:09 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-08-17 04:20:09 +0800 |
commit | 3f08901e844eda6c67b44e869c08ef9dc11265e4 (patch) | |
tree | 08dc84c18eb89df26845f9b2861a03391d1c5249 /forged/internal/incoming/ssh | |
parent | Fix potential goroutine leak from multi-serverpart errors (diff) | |
download | forge-3f08901e844eda6c67b44e869c08ef9dc11265e4.tar.gz forge-3f08901e844eda6c67b44e869c08ef9dc11265e4.tar.zst forge-3f08901e844eda6c67b44e869c08ef9dc11265e4.zip |
Fix a few other goroutine leaks with contexts
Diffstat (limited to 'forged/internal/incoming/ssh')
-rw-r--r-- | forged/internal/incoming/ssh/ssh.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/forged/internal/incoming/ssh/ssh.go b/forged/internal/incoming/ssh/ssh.go index efa24f1..77812d1 100644 --- a/forged/internal/incoming/ssh/ssh.go +++ b/forged/internal/incoming/ssh/ssh.go @@ -2,6 +2,7 @@ package ssh import ( "context" + "errors" "fmt" "os" @@ -68,6 +69,9 @@ func (server *Server) Run(ctx context.Context) (err error) { }() if err = server.gliderServer.Serve(listener); err != nil { + if errors.Is(err, gliderssh.ErrServerClosed) { + return nil + } return fmt.Errorf("serve SSH: %w", err) } panic("unreachable") |