mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
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:
parent
9c11749258
commit
2dcf052e13
1 changed files with 2 additions and 2 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue