[pulseaudio-discuss] Behavior of pa_threaded_mainloop_wait ()

Lennart Poettering lennart at poettering.net
Wed Feb 10 13:10:44 PST 2010


On Tue, 09.02.10 20:41, Tristin Celestin (tristin_celestin at yahoo.com) wrote:

> Why do I have to explicitly check inside the loop to see if the
> stream is ready, and then break? Do I have to have called wait()
> while the callback executes?

To express in a little different words what Colin already said:

Each _wait() invocation in your control thread will sleep until the
next _signal() call from your IO thread. Since your state callback
probably calls _signal() on each context state change this means that
when you are already connected and then call _wait() again you will
stay stuck, because then no more state changes will happen (unless the
connection is terminated, maybe because a cable was unplugged or so)
and hence no _signal() calls either.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list