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().
This commit is contained in:
Mitchell Fang 2013-05-22 11:23:27 +03:00 committed by Arun Raghavan
parent 9c11749258
commit 2dcf052e13

View file

@ -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);