commit c77ca8e41653a788066becd6bdacd3ffe6f9f685 Author: Lennart Poettering <lennart@poettering.net> Date: Thu Sep 11 03:02:56 2008 +0300 Start PA event loop after we have created the context. We shouldn't be passing the main loop object to the pa_context while that loop is running and not locked. Push the main loop startup after we created the main loop. diff --git a/pulse/pulse.c b/pulse/pulse.c index 617851e..022ca55 100644 --- a/pulse/pulse.c +++ b/pulse/pulse.c @@ -188,9 +188,6 @@ snd_pulse_t *pulse_new(void) if (!p->mainloop) goto fail; - if (pa_threaded_mainloop_start(p->mainloop) < 0) - goto fail; - if (pa_get_binary_name(proc, sizeof(proc))) snprintf(buf, sizeof(buf), "ALSA plug-in [%s]", pa_path_get_filename(proc)); @@ -204,6 +201,9 @@ snd_pulse_t *pulse_new(void) pa_context_set_state_callback(p->context, context_state_cb, p); + if (pa_threaded_mainloop_start(p->mainloop) < 0) + goto fail; + return p; fail: