[pulseaudio-tickets] [PulseAudio] #725: hang when waiting for pa_operation with extra lock held (was: hang when trying to drain empty stream)

PulseAudio trac-noreply at tango.0pointer.de
Thu Dec 17 13:39:56 PST 2009


#725: hang when waiting for pa_operation with extra lock held
-----------------------+----------------------------------------------------
  Reporter:  pgregory  |       Owner:  lennart                                             
      Type:  defect    |      Status:  new                                                 
 Milestone:            |   Component:  libpulse                                            
Resolution:            |    Keywords:  pa_threaded_mainloop_lock pa_operation hang deadlock
-----------------------+----------------------------------------------------
Changes (by pgregory):

  * keywords:  pa_stream_drain drain hang => pa_threaded_mainloop_lock
               pa_operation hang deadlock


Comment:

 Sure — attached.

 Note: while writing the test case I discovered that the hang is unrelated
 to pa_stream_drain, and happens when waiting for pa_operation with extra
 pa_threaded_mainloop_lock held. But

 {{{
 The lock is recursive, so it's safe to use it multiple times from the same
 thread.
 Just make sure you call pa_threaded_mainloop_unlock() the same number of
 times you
 called pa_threaded_mainloop_lock().
 }}}

 so this is still a bug :-) Deadlock, maybe?

-- 
Ticket URL: <http://pulseaudio.org/ticket/725#comment:2>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list