Skip to content

Commit d70dda7

Browse files
committed
x
1 parent 97d1f96 commit d70dda7

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

zrpc/internal/rpcpubserver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,16 @@ type keepAliveServer struct {
5454
func (s keepAliveServer) Start(fn RegisterFn) error {
5555
errCh := make(chan error)
5656
stopCh := make(chan struct{})
57+
defer close(stopCh)
5758
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
5859
defer cancel()
5960

6061
go func() {
6162
defer close(errCh)
6263
select {
63-
case <-ctx.Done():
6464
case errCh <- s.Server.Start(fn):
6565
case <-stopCh:
66+
// prevent goroutine leak
6667
}
6768
}()
6869

@@ -76,7 +77,6 @@ l:
7677
if health.IsReady() {
7778
err := s.registerEtcd()
7879
if err != nil {
79-
close(stopCh)
8080
return err
8181
}
8282
// break for loop

0 commit comments

Comments
 (0)