Bläddra i källkod

Avoid indefinite ReadIQ waits when callbacks stop

master
Jan Svabenik 4 dagar sedan
förälder
incheckning
4006fe2d04
1 ändrade filer med 4 tillägg och 7 borttagningar
  1. +4
    -7
      internal/sdrplay/sdrplay.go

+ 4
- 7
internal/sdrplay/sdrplay.go Visa fil

@@ -343,13 +343,10 @@ func (s *Source) ReadIQ(n int) ([]complex64, error) {
if time.Now().After(deadline) {
return nil, errors.New("timeout waiting for IQ samples")
}
if s.cond != nil {
s.cond.Wait()
} else {
s.mu.Unlock()
time.Sleep(50 * time.Millisecond)
s.mu.Lock()
}
// Timed wait to avoid indefinite block if callbacks stop.
s.mu.Unlock()
time.Sleep(20 * time.Millisecond)
s.mu.Lock()
}
out := make([]complex64, n)
for i := 0; i < n; i++ {


Laddar…
Avbryt
Spara