diff options
author | Marcus Müller <mmueller@gnuradio.org> | 2021-01-25 22:19:26 +0100 |
---|---|---|
committer | Martin Braun <martin@gnuradio.org> | 2021-02-09 09:07:35 -0800 |
commit | 404d09cffa3de212b69c0440b8052e6b37d59a4e (patch) | |
tree | 43bbee9948e76dcf7b320db19056ca3f74f9ae43 /gr-audio/lib | |
parent | ff637fb83a7e5c63f27de893e92fb9f0f4348340 (diff) |
portaudio: fix unintentionally synchronous std::async
Note this classic (which I didn't do in ALSA back in the day, 'doh):
If you don't assign your future coming from std::async to something, its
destructor is instantly called, leading to the call effectively being
blocking.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
Diffstat (limited to 'gr-audio/lib')
-rw-r--r-- | gr-audio/lib/portaudio/portaudio_sink.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gr-audio/lib/portaudio/portaudio_sink.cc b/gr-audio/lib/portaudio/portaudio_sink.cc index 52956f28ab..6fe6000883 100644 --- a/gr-audio/lib/portaudio/portaudio_sink.cc +++ b/gr-audio/lib/portaudio/portaudio_sink.cc @@ -114,7 +114,7 @@ int portaudio_sink_callback(const void* inputBuffer, } else { // underrun - std::async(&portaudio_underrun_notification, self->d_logger); + auto future_local = std::async(&portaudio_underrun_notification, self->d_logger); // FIXME we should transfer what we've got and pad the rest memset(outputBuffer, 0, nreqd_samples * sizeof(sample_t)); |