Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite09ad1d

Browse files
fix: lock adding to tailnet waitgroup to avoid race (and fix flake) (#14195)
1 parent46becc7 commite09ad1d

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

‎tailnet/conn.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,6 @@ func (c *Conn) Closed() <-chan struct{} {
556556
func (c*Conn)Close()error {
557557
c.logger.Info(context.Background(),"closing tailnet Conn")
558558
c.watchCancel()
559-
c.telemetryWg.Wait()
560559
c.configMaps.close()
561560
c.nodeUpdater.close()
562561
c.mutex.Lock()
@@ -567,6 +566,7 @@ func (c *Conn) Close() error {
567566
default:
568567
}
569568
close(c.closed)
569+
c.telemetryWg.Wait()
570570
c.mutex.Unlock()
571571

572572
varwg sync.WaitGroup
@@ -783,6 +783,13 @@ func (c *Conn) newTelemetryEvent() *proto.TelemetryEvent {
783783
}
784784

785785
func (c*Conn)sendTelemetryBackground(e*proto.TelemetryEvent) {
786+
c.mutex.Lock()
787+
deferc.mutex.Unlock()
788+
select {
789+
case<-c.closed:
790+
return
791+
default:
792+
}
786793
c.telemetryWg.Add(1)
787794
gofunc() {
788795
deferc.telemetryWg.Done()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp