Quellcode durchsuchen

Avoid indefinite ReadIQ waits when callbacks stop

master
Jan Svabenik vor 4 Tagen
Ursprung
Commit
4006fe2d04
1 geänderte Dateien mit 4 neuen und 7 gelöschten Zeilen
  1. +4
    -7
      internal/sdrplay/sdrplay.go

+ 4
- 7
internal/sdrplay/sdrplay.go Datei anzeigen

@@ -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++ {


Laden…
Abbrechen
Speichern