aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/incoming/ssh/ssh.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-08-17 04:20:09 +0800
committerRunxi Yu <me@runxiyu.org>2025-08-17 04:20:09 +0800
commit3f08901e844eda6c67b44e869c08ef9dc11265e4 (patch)
tree08dc84c18eb89df26845f9b2861a03391d1c5249 /forged/internal/incoming/ssh/ssh.go
parentFix potential goroutine leak from multi-serverpart errors (diff)
downloadforge-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/ssh.go')
-rw-r--r--forged/internal/incoming/ssh/ssh.go4
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")