summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-04-09 20:04:24 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-04-09 20:04:24 +0000
commita7e4ab04d7e714c572767e58b409a48ed46b862f (patch)
treee2f77cee535ba2979c0f8b0b3f860535f3b2f0af
parent486ce516255475e6ed70404bc6a75163344d8e4e (diff)
downloadmpv-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
-rw-r--r--libao2/ao_pulse.c5
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);