changeset 8401:83cad8a5bf15 HEAD

fts-solr: Don't assert-crash if we couldn't connect to Solr.
author Timo Sirainen <tss@iki.fi>
date Sat, 15 Nov 2008 19:03:00 +0200
parents ce4779b95fc8
children 244addad91a5
files src/plugins/fts-solr/solr-connection.c
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts-solr/solr-connection.c	Sat Nov 15 18:48:52 2008 +0200
+++ b/src/plugins/fts-solr/solr-connection.c	Sat Nov 15 19:03:00 2008 +0200
@@ -397,8 +397,9 @@
 	fd_set fdexcep;
 	struct timeval timeout_tv;
 	long timeout;
+	CURLMsg *msg;
 	CURLMcode merr;
-	int ret, handles, maxfd;
+	int ret, handles, maxfd, n;
 
 	i_assert(post->conn->posting);
 
@@ -423,6 +424,13 @@
 			/* everything sent successfully */
 			return;
 		}
+		msg = curl_multi_info_read(post->conn->curlm, &n);
+		if (msg != NULL && msg->msg == CURLMSG_DONE &&
+		    msg->data.result != CURLE_OK) {
+			i_error("fts_solr: curl post failed: %s",
+				curl_easy_strerror(msg->data.result));
+			break;
+		}
 
 		/* everything wasn't sent - wait. just use select,
 		   since libcurl interface is easiest with it. */