diff options
author | Max Kellermann <max@duempel.org> | 2008-04-12 04:16:50 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-04-12 04:16:50 +0000 |
commit | f0e28ede4da3da8754f48ef5af1b654792e3364c (patch) | |
tree | 04f40ad027f06eb473ce5606927c1887bb4f123b /src/timer.c | |
parent | 9cfb4c0390bde730011874cdd8cc62fb0a5da6ea (diff) | |
download | mpd-f0e28ede4da3da8754f48ef5af1b654792e3364c.tar.gz mpd-f0e28ede4da3da8754f48ef5af1b654792e3364c.tar.xz mpd-f0e28ede4da3da8754f48ef5af1b654792e3364c.zip |
fix deadlock at end of song
Now that we do proper locking and signalling instead of continuous
polling for IPC, a deadlock was found: at the end of a song, the
player thread waits until the main thread sets pc->queueState from
PLAYER_QUEUE_DECODE to PLAYER_QUEUE_PLAY. He is never woken up, since
syncPlaylistWithQueue() does not activate the notification. I added
wakeup_player_nb() to setQueueState(), since the player must be
signalled whenever pc->queueState changes.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7303 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/timer.c')
0 files changed, 0 insertions, 0 deletions