aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2015-06-19 16:45:38 +0200
committerMax Kellermann <max@duempel.org>2015-06-19 16:45:38 +0200
commit947e902288d5436c62214c509fda81708815b3d6 (patch)
tree43df5805f97ed4178d552f06b10dc78340f6a7d0
parent3436a646b5a2fc181056fa44989e17ff1f6b083c (diff)
downloadmpd-947e902288d5436c62214c509fda81708815b3d6.tar.gz
mpd-947e902288d5436c62214c509fda81708815b3d6.tar.xz
mpd-947e902288d5436c62214c509fda81708815b3d6.zip
input/curl: trigger the condition variable in RequestDone()
Fixes deadlock on small responses.
-rw-r--r--NEWS1
-rw-r--r--src/input/plugins/CurlInputPlugin.cxx2
2 files changed, 3 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e5cc2e540..4d92cd3e1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
ver 0.19.10 (not yet released)
* input
+ - curl: fix deadlock on small responses
- smbclient: fix DFF playback
* encoder
- opus: fix bogus granulepos
diff --git a/src/input/plugins/CurlInputPlugin.cxx b/src/input/plugins/CurlInputPlugin.cxx
index abb7e312c..3aa3b0018 100644
--- a/src/input/plugins/CurlInputPlugin.cxx
+++ b/src/input/plugins/CurlInputPlugin.cxx
@@ -453,6 +453,8 @@ CurlInputStream::RequestDone(CURLcode result, long status)
SeekDone();
else if (!IsReady())
SetReady();
+ else
+ cond.broadcast();
}
static void