Re: [Alsa-devel] Re: snd_pcm_open not threadsafe?

2001-12-04 Thread Jaroslav Kysela

On Mon, 3 Dec 2001, Abramo Bagnara wrote:

 Jaroslav Kysela wrote:
 
  On Mon, 3 Dec 2001, Alexander Ehlert wrote:
 
   Hi,
  
   can it be, that snd_pcm_open in the alsa lib is not threadsafe?
 
  You're right, the snd_config_update() function is not thread safe (it uses
  global variables). I put this item to the todo list.
 
   Glame uses threads for all its plugins and if I have for example
   one audio_in and one audio_out plugin, it can happen, that
   snd_pcm_open is called twice at the same time. Wonderful things
   happen in snd_config_expand and glame can't open any audio devices
   with alsa for a running session. Putting mutexes around snd_pcm_open
   fixes the problem. Are there any other functions in the alsa lib
   that are potentially not thread safe?
 
  Other functions should be thread safe (except pcm_share plugin),

 Why you say that? pcm_share has been written with multithreading in
 mind.

 I've missed something?

Nope. It was my bad assumption, that the global list of clients is not
protected using a mutex. You're right, there shouldn't be any problem with
pcm_share.

Jaroslav

-
Jaroslav Kysela [EMAIL PROTECTED]
SuSE Linuxhttp://www.suse.com
ALSA Project  http://www.alsa-project.org


___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel



Re: [Alsa-devel] Re: snd_pcm_open not threadsafe?

2001-12-03 Thread Abramo Bagnara

Jaroslav Kysela wrote:
 
 On Mon, 3 Dec 2001, Alexander Ehlert wrote:
 
  Hi,
 
  can it be, that snd_pcm_open in the alsa lib is not threadsafe?
 
 You're right, the snd_config_update() function is not thread safe (it uses
 global variables). I put this item to the todo list.
 
  Glame uses threads for all its plugins and if I have for example
  one audio_in and one audio_out plugin, it can happen, that
  snd_pcm_open is called twice at the same time. Wonderful things
  happen in snd_config_expand and glame can't open any audio devices
  with alsa for a running session. Putting mutexes around snd_pcm_open
  fixes the problem. Are there any other functions in the alsa lib
  that are potentially not thread safe?
 
 Other functions should be thread safe (except pcm_share plugin), 

Why you say that? pcm_share has been written with multithreading in
mind.

I've missed something?


-- 
Abramo Bagnara   mailto:[EMAIL PROTECTED]

Opera Unica  Phone: +39.546.656023
Via Emilia Interna, 140
48014 Castel Bolognese (RA) - Italy

ALSA project   http://www.alsa-project.org
It sounds good!

___
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel