Skip to content

Commit 87cf31e

Browse files
fix: dont close tracker channel just signal (#275)
* fix: safely close channel in messageTracker to avoid panic * dont close channel just send event there --------- Co-authored-by: Omer Akram <omer@xconn.io>
1 parent 4a2f441 commit 87cf31e

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

peer.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ func (m *messageTracker) Start(interval time.Duration) bool {
7676
if m.started {
7777
return false
7878
}
79+
7980
m.started = true
8081

8182
go m.trackLoop(interval)
@@ -104,7 +105,15 @@ func (m *messageTracker) trackLoop(interval time.Duration) {
104105
}
105106

106107
func (m *messageTracker) Stop() {
107-
close(m.stopTrackCh)
108+
m.mu.Lock()
109+
defer m.mu.Unlock()
110+
111+
select {
112+
case <-m.stopTrackCh:
113+
default:
114+
}
115+
116+
m.started = false
108117
}
109118

110119
type baseSession struct {

0 commit comments

Comments
 (0)