mcp: fix goroutine leaks in unit tests (#496)
This PR fixes goroutine leaks in all unit tests. To find the leaks I integrated https://github.com/uber-go/goleak and I suggest to keep using it to catch any future regressions. I used the folowing script to more easily find individual tests which were leaking goroutines: ``` for t in $(go test -run=Nothing -list=. ./mcp | grep -v ok); do go test ./mcp -run="$t" > /dev/null && echo -n . || echo -e "\nDetected leak: $t"; done ```
This commit is contained in:
parent
14e776db6f
commit
010bdbc64d
1 changed files with 72 additions and 54 deletions
|
|
@ -778,6 +778,7 @@ func (s *Server) Run(ctx context.Context, t Transport) error {
|
|||
select {
|
||||
case <-ctx.Done():
|
||||
ss.Close()
|
||||
<-ssClosed // wait until waiting go routine above actually completes
|
||||
s.opts.Logger.Error("server run cancelled", "error", ctx.Err())
|
||||
return ctx.Err()
|
||||
case err := <-ssClosed:
|
||||
|
|
|
|||
Loading…
Reference in a new issue