aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-10-08 11:36:38 +0200
committerMax Kellermann <max@duempel.org>2008-10-08 11:36:38 +0200
commite8413541f494b63f397ecf93a5a0d6a1e0a69202 (patch)
treebb3a4d35e90120c9502cd08339114ea0aa0f9b55
parent81220ca2060b692dd456b38570fff75ee09cf00e (diff)
downloadmpd-e8413541f494b63f397ecf93a5a0d6a1e0a69202.tar.gz
mpd-e8413541f494b63f397ecf93a5a0d6a1e0a69202.tar.xz
mpd-e8413541f494b63f397ecf93a5a0d6a1e0a69202.zip
update: fix deadlock in delete_song()
Due to a merge error, reap_update_task() called cond_signal_async() with a locked mutex. That always fails. Use cond_signal_sync() instead.
-rw-r--r--src/update.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/update.c b/src/update.c
index 8bbb76eb1..550e9b1df 100644
--- a/src/update.c
+++ b/src/update.c
@@ -525,7 +525,7 @@ void reap_update_task(void)
LOG("removing: %s\n", song_get_url(delete, tmp));
deleteASongFromPlaylist(delete);
delete = NULL;
- cond_signal_async(&delete_cond);
+ cond_signal_sync(&delete_cond);
}
cond_leave(&delete_cond);