[alsa-devel] parallel, real time safe waiting?

Johannes Lorenz johannes89 at mailueberfall.de
Mon Apr 13 19:56:02 CEST 2015


Hello,

I'd like to write a sequencer that can handle many synthesizers. Thus, I want them to run these synths parallel. Still, I'd like to keep my code real time safe, i.e. no malloc(), usleep(), ofstream, pthread mutexes etc. However, I wondered how to let all my threads sleep for x useconds if there's nothing to do for x useconds.

My idea was:

  1.) Let each thread open a handle using snd_seq_open()
  2.) Call snd_pcm_wait() in each thread

Are these functions

  a) real time safe?
  b) race-condition free, assuming I'll use pairwise different handles each thread

Many thanks for any help.

Kind regards,
Johannes


More information about the Alsa-devel mailing list