From 1f976d6e543aca95f2fdfb64f970446e94ad5796 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 20 Jul 2010 22:49:29 +0200
Subject: [PATCH] input/curl: remove assertion after curl_multi_fdset()

Some users reported that MPD crashes when using a new CURL version
with the threaded DNS resolver enabled.  It seems that
curl_multi_fdset() returns no file descriptor when the DNS resolver
runs in another thread, so MPD does not have any event to wait for.

On the CURL mailing list, somebody suggested to sleep for a fixed
amount of time.  This is not an elegant solution, because daemons
should never have to sleep without waiting for an event.  I hope the
CURL developers will review the API and remove the threaded DNS
resolver.

Meanwhile, I'm removing the assertion in question, to allow those
unfortunate users running the latest CURL version to continue using
MPD.
---
 NEWS                          | 2 ++
 src/input/curl_input_plugin.c | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index a43fa5d7c..8adec16b3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.15.12 (2010/??/??)
+* input:
+  - curl: remove assertion after curl_multi_fdset()
 * tags:
   - rva2: set "gain", not "peak"
 * decoders:
diff --git a/src/input/curl_input_plugin.c b/src/input/curl_input_plugin.c
index ff1ac85c5..c176f20dc 100644
--- a/src/input/curl_input_plugin.c
+++ b/src/input/curl_input_plugin.c
@@ -259,8 +259,6 @@ input_curl_select(struct input_curl *c)
 		return -1;
 	}
 
-	assert(max_fd >= 0);
-
 #if LIBCURL_VERSION_NUM >= 0x070f00
 	long timeout2;
 	mcode = curl_multi_timeout(c->multi, &timeout2);