aboutsummaryrefslogtreecommitdiffstats
path: root/src/player_thread.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-11-14 17:55:45 +0100
committerMax Kellermann <max@duempel.org>2008-11-14 17:55:45 +0100
commit418dac6f946eca40f2140c11301ce492b7d16a43 (patch)
treecb8aed83d0d01ffa97a6b924ecf2fce76340309c /src/player_thread.c
parent440b1ea3ea0e2bc0f56c8f39f917e59d1761a3d0 (diff)
downloadmpd-418dac6f946eca40f2140c11301ce492b7d16a43.tar.gz
mpd-418dac6f946eca40f2140c11301ce492b7d16a43.tar.xz
mpd-418dac6f946eca40f2140c11301ce492b7d16a43.zip
player: wake up decoder before waiting for xfade chunks
Fix a deadlock: when the decoder waited for buffer space, the player could enter a deadlock situation because it waits for more chunks for crossfading chunks. Signal the decoder before entering notify_wait().
Diffstat (limited to 'src/player_thread.c')
-rw-r--r--src/player_thread.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/player_thread.c b/src/player_thread.c
index 9f2ff4389..7570443da 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -429,6 +429,7 @@ static void do_play(void)
/* wait for the
decoder */
music_pipe_set_lazy(false);
+ notify_signal(&dc.notify);
notify_wait(&pc.notify);
continue;
}