Chameleon
2018-10-01 03:39:56 UTC
Hello all,
I came across this bug/issue when converting my program from the blocking
interface to the callback interface, every so often (up to hours later) my
program would crash with SIGABRT.
I found this https://app.assembla.com/spaces/portaudio/support/tickets/268
from a year ago, but it didn't seem to have a resolution to it. I spent a
few days hacking around with it and eventually came up with a fix, and
posted it to the ticket. I'm writing here to potentially be notified if
anything comes of it.
To sum up the problem: (alsa_)snd_pcm_poll_descriptors can return -32
(Broken Pipe). Currently the portaudio library crashes the program when
alsa does so. Treating it as an xrun seems to work perfectly.
I came across this bug/issue when converting my program from the blocking
interface to the callback interface, every so often (up to hours later) my
program would crash with SIGABRT.
I found this https://app.assembla.com/spaces/portaudio/support/tickets/268
from a year ago, but it didn't seem to have a resolution to it. I spent a
few days hacking around with it and eventually came up with a fix, and
posted it to the ticket. I'm writing here to potentially be notified if
anything comes of it.
To sum up the problem: (alsa_)snd_pcm_poll_descriptors can return -32
(Broken Pipe). Currently the portaudio library crashes the program when
alsa does so. Treating it as an xrun seems to work perfectly.