src/pulse/thread-mainloop.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
New commits: commit e521961aa6c5760f840091cf49ca13bd5532a5c2 Author: Mitchell Fang <mitchell.f...@gmail.com> Date: Wed May 22 11:23:27 2013 +0300 thread-mainloop: Fix bug in example code Checking the operation state caused a deadlock, because the state won't change before my_drain_callback() returns, and it doesn't return before my_drain_stream_func() calls pa_threaded_mainloop_accept(). diff --git a/src/pulse/thread-mainloop.h b/src/pulse/thread-mainloop.h index ff166f8..3437001 100644 --- a/src/pulse/thread-mainloop.h +++ b/src/pulse/thread-mainloop.h @@ -166,7 +166,7 @@ PA_C_DECL_BEGIN * access this data safely, we must extend our example a bit: * * \code - * static int *drain_result; + * static volatile int *drain_result = NULL; * * static void my_drain_callback(pa_stream*s, int success, void *userdata) { * pa_threaded_mainloop *m; @@ -187,7 +187,7 @@ PA_C_DECL_BEGIN * o = pa_stream_drain(s, my_drain_callback, m); * assert(o); * - * while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) + * while (drain_result == NULL) * pa_threaded_mainloop_wait(m); * * pa_operation_unref(o); _______________________________________________ pulseaudio-commits mailing list pulseaudio-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits