Преглед изворни кода

Fix SDRplay init/stop leaks and stats endpoint

master
Jan Svabenik пре 4 дана
родитељ
комит
ecd3e4d016
2 измењених фајлова са 7 додато и 6 уклоњено
  1. +1
    -5
      cmd/sdrd/main.go
  2. +6
    -1
      internal/sdrplay/sdrplay.go

+ 1
- 5
cmd/sdrd/main.go Прегледај датотеку

@@ -389,11 +389,7 @@ func main() {

http.HandleFunc("/api/stats", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
if sp, ok := src.(sdr.StatsProvider); ok {
_ = json.NewEncoder(w).Encode(sp.Stats())
return
}
_ = json.NewEncoder(w).Encode(sdr.SourceStats{})
_ = json.NewEncoder(w).Encode(srcMgr.Stats())
})

http.HandleFunc("/api/gpu", func(w http.ResponseWriter, r *http.Request) {


+ 6
- 1
internal/sdrplay/sdrplay.go Прегледај датотеку

@@ -112,7 +112,12 @@ func New(sampleRate int, centerHz float64, gainDb float64, bwKHz int) (sdr.Sourc
s.cond = sync.NewCond(&s.mu)
s.resizeBuffer(sampleRate, 0)
s.handle = cgo.NewHandle(s)
return s, s.configure(sampleRate, centerHz, gainDb, bwKHz)
if err := s.configure(sampleRate, centerHz, gainDb, bwKHz); err != nil {
s.handle.Delete()
s.handle = 0
return nil, err
}
return s, nil
}

func (s *Source) configure(sampleRate int, centerHz float64, gainDb float64, bwKHz int) error {


Loading…
Откажи
Сачувај