[pulseaudio-commits] Branch 'next' - src/pulse
Tanu Kaskinen
tanuk at kemper.freedesktop.org
Wed May 22 01:25:41 PDT 2013
src/pulse/thread-mainloop.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit e521961aa6c5760f840091cf49ca13bd5532a5c2
Author: Mitchell Fang <mitchell.fang at 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);
More information about the pulseaudio-commits
mailing list