Fix data race in TestCorrectStreamWakeup (#2334)

This commit is contained in:
Neil Alexander 2022-04-08 10:46:36 +01:00 committed by GitHub
parent b8c97431b9
commit f299f97e0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -165,9 +165,9 @@ func TestCorrectStreamWakeup(t *testing.T) {
go func() { go func() {
select { select {
case <-streamone.signalChannel: case <-streamone.ch():
awoken <- "one" awoken <- "one"
case <-streamtwo.signalChannel: case <-streamtwo.ch():
awoken <- "two" awoken <- "two"
} }
}() }()

View File

@ -118,6 +118,12 @@ func (s *UserDeviceStream) TimeOfLastNonEmpty() time.Time {
return s.timeOfLastChannel return s.timeOfLastChannel
} }
func (s *UserDeviceStream) ch() <-chan struct{} {
s.lock.Lock()
defer s.lock.Unlock()
return s.signalChannel
}
// GetSyncPosition returns last sync position which the UserStream was // GetSyncPosition returns last sync position which the UserStream was
// notified about // notified about
func (s *UserDeviceStreamListener) GetSyncPosition() types.StreamingToken { func (s *UserDeviceStreamListener) GetSyncPosition() types.StreamingToken {