summaryrefslogtreecommitdiff
path: root/gr-audio/lib
diff options
context:
space:
mode:
authorMarcus Müller <mmueller@gnuradio.org>2021-01-25 22:19:26 +0100
committerMartin Braun <martin@gnuradio.org>2021-02-09 09:07:35 -0800
commit404d09cffa3de212b69c0440b8052e6b37d59a4e (patch)
tree43bbee9948e76dcf7b320db19056ca3f74f9ae43 /gr-audio/lib
parentff637fb83a7e5c63f27de893e92fb9f0f4348340 (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.cc2
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));