diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-04-09 20:04:24 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-04-09 20:04:24 +0000 |
commit | a7e4ab04d7e714c572767e58b409a48ed46b862f (patch) | |
tree | e2f77cee535ba2979c0f8b0b3f860535f3b2f0af /libao2 | |
parent | 486ce516255475e6ed70404bc6a75163344d8e4e (diff) | |
download | mpv-a7e4ab04d7e714c572767e58b409a48ed46b862f.tar.bz2 mpv-a7e4ab04d7e714c572767e58b409a48ed46b862f.tar.xz |
Make sure waitop always unlocks the mainloop even if the operation could not
be created.
Patch by Lennart Poettering [lennart poettering net]
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29157 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2')
-rw-r--r-- | libao2/ao_pulse.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libao2/ao_pulse.c b/libao2/ao_pulse.c index 2d27c85540..66d28aa281 100644 --- a/libao2/ao_pulse.c +++ b/libao2/ao_pulse.c @@ -102,7 +102,10 @@ static void success_cb(pa_stream *s, int success, void *userdata) { */ static int waitop(pa_operation *op) { pa_operation_state_t state; - if (!op) return 0; + if (!op) { + pa_threaded_mainloop_unlock(mainloop); + return 0; + } state = pa_operation_get_state(op); while (state == PA_OPERATION_RUNNING) { pa_threaded_mainloop_wait(mainloop); |