Mihaela Vitalariu wrote:
The application IS multithreaded. The async callback is invoked from more than one thread until at some point SIGIO simply interrupts the whole programSo, is it my bug or is it from ALSA?
Hmmm, not sure. My first impression is that alsa cannot know how many threads are running and foremost alsa doesn't know what threads are running, so it cannot prevent the signals from being delivered to the other threads.
So I guess it's up to you to ignore signals in threads that do not have a signal handler installed by alsa. I guess you need to make a piece of code that queries the current signal handler for SIGIO and if it's non-null, leave it, otherwise have SIGIO ignored and do this in every thread, after alsa initialization.
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user