diff options
author | Max Kellermann <max@duempel.org> | 2011-01-07 23:08:18 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2011-01-07 23:08:18 +0100 |
commit | 5f06999686b1c02c3dc612fe8a6a84ebecc76405 (patch) | |
tree | 2948e8a460e7128f0f08f11a86229a0a8676e623 | |
parent | 4c09aeb5a1ac7dbf80af680c18f4e36d4776dc8c (diff) | |
download | mpd-5f06999686b1c02c3dc612fe8a6a84ebecc76405.tar.gz mpd-5f06999686b1c02c3dc612fe8a6a84ebecc76405.tar.xz mpd-5f06999686b1c02c3dc612fe8a6a84ebecc76405.zip |
output_thread: fix double lock
During the whole output thread, the audio_output object is locked, and
it is only unlocked while waiting for the GCond and while running a
plugin method. The error handler in ao_play_chunk() attempted to lock
the object again, which was code from MPD 0.15.x which should have
been removed a long time ago.
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/output_thread.c | 3 |
2 files changed, 1 insertions, 3 deletions
@@ -9,6 +9,7 @@ ver 0.16.1 (2010/??/??) - solaris: add missing parameter to open_cloexec() cal - osx: fix up audio format first, then apply it to device * player_thread: fix assertion failure due to early seek +* output_thread: fix double lock ver 0.16 (2010/12/11) diff --git a/src/output_thread.c b/src/output_thread.c index a334fcef5..a5244c693 100644 --- a/src/output_thread.c +++ b/src/output_thread.c @@ -463,12 +463,9 @@ ao_play_chunk(struct audio_output *ao, const struct music_chunk *chunk) /* don't automatically reopen this device for 10 seconds */ - g_mutex_lock(ao->mutex); - assert(ao->fail_timer == NULL); ao->fail_timer = g_timer_new(); - g_mutex_unlock(ao->mutex); return false; } |