瀏覽代碼

Add wg to observer

This is to ensure a case when we still can have observer hanging around
tags/v2.0.0-rc1
9seconds 5 年之前
父節點
當前提交
336e825e3a
共有 1 個檔案被更改,包括 6 行新增4 行删除
  1. 6
    4
      mtglib/internal/relay/relay.go

+ 6
- 4
mtglib/internal/relay/relay.go 查看文件

34
 		westConn.Close()
34
 		westConn.Close()
35
 	}()
35
 	}()
36
 
36
 
37
-	go r.runObserver(r.ctx)
38
-
39
 	wg := &sync.WaitGroup{}
37
 	wg := &sync.WaitGroup{}
40
-	wg.Add(2) // nolint: gomnd
38
+	wg.Add(3) // nolint: gomnd
39
+
40
+	go r.runObserver(r.ctx, wg)
41
 
41
 
42
 	go r.transmit(eastConn, westConn, r.westBuffer, "west", wg)
42
 	go r.transmit(eastConn, westConn, r.westBuffer, "west", wg)
43
 
43
 
72
 	}
72
 	}
73
 }
73
 }
74
 
74
 
75
-func (r *Relay) runObserver(ctx context.Context) {
75
+func (r *Relay) runObserver(ctx context.Context, wg *sync.WaitGroup) {
76
 	ticker := time.NewTicker(time.Second)
76
 	ticker := time.NewTicker(time.Second)
77
 
77
 
78
 	defer func() {
78
 	defer func() {
82
 		case <-ticker.C:
82
 		case <-ticker.C:
83
 		default:
83
 		default:
84
 		}
84
 		}
85
+
86
+		wg.Done()
85
 	}()
87
 	}()
86
 
88
 
87
 	lastTickAt := time.Now()
89
 	lastTickAt := time.Now()

Loading…
取消
儲存