From c98bc4a2433b99baf11cf95a50b282de69346da6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 14 Nov 2017 21:19:22 +0100 Subject: [PATCH] playlist/PlaylistRegistry: use LockRewind() instead of Rewind() Fixes a deadlock caused by commit 31ab78ae8e10af948ec95496df0d2abf1ea631a4. That commit was not actually bad - just these two calls have always been bad, which went unnoticed for a long time. --- src/playlist/PlaylistRegistry.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/playlist/PlaylistRegistry.cxx b/src/playlist/PlaylistRegistry.cxx index f230b8734..de143b412 100644 --- a/src/playlist/PlaylistRegistry.cxx +++ b/src/playlist/PlaylistRegistry.cxx @@ -195,7 +195,7 @@ playlist_list_open_stream_mime2(InputStreamPtr &&is, const char *mime) /* rewind the stream, so each plugin gets a fresh start */ try { - is->Rewind(); + is->LockRewind(); } catch (const std::runtime_error &) { } @@ -239,7 +239,7 @@ playlist_list_open_stream_suffix(InputStreamPtr &&is, const char *suffix) /* rewind the stream, so each plugin gets a fresh start */ try { - is->Rewind(); + is->LockRewind(); } catch (const std::runtime_error &) { }