Re: [Qemu-devel] paaudio race condition on close

2014-12-15 Thread Gerd Hoffmann
On Mo, 2014-12-15 at 15:37 +, Peter Maydell wrote: > On 15 December 2014 at 09:23, Gerd Hoffmann wrote: > > >> > Does anybody know how this is supposed to work? Is the fix as > >> > simple as just moving the free_resources call below the fini? > > > > I suspect the code simply wasn't written

Re: [Qemu-devel] paaudio race condition on close

2014-12-15 Thread Peter Maydell
On 15 December 2014 at 09:23, Gerd Hoffmann wrote: >> > Does anybody know how this is supposed to work? Is the fix as >> > simple as just moving the free_resources call below the fini? > > I suspect the code simply wasn't written with threads in mind and the > fix actually is that simple ... > >

Re: [Qemu-devel] paaudio race condition on close

2014-12-15 Thread Gerd Hoffmann
Hi, > > Usually this works. Unfortunately if the input thread is in the > > middle of actually writing to the buffer then things can go pear > > shaped, because the sample buffer itself is freed earlier, by > > audio_pcm_hw_gc_in(): > > > > glue (s->nb_hw_voices_, TYPE) += 1; > >

Re: [Qemu-devel] paaudio race condition on close

2014-12-15 Thread Markus Armbruster
If Gerd (cc'ed) doesn't know, then I'm afraid nobody around here does. Peter Maydell writes: > There seems to be a race condition in the pulseaudio backend on > closing of a voice... > > There are two threads involved here. The first one is a worker > thread that just sits executing our qpa_thre

[Qemu-devel] paaudio race condition on close

2014-12-12 Thread Peter Maydell
There seems to be a race condition in the pulseaudio backend on closing of a voice... There are two threads involved here. The first one is a worker thread that just sits executing our qpa_thread_in() function to get input audio from PA and feed it to us. The second thread is QEMU itself (the cpu