X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fcurl_xml.c;h=052ea1e61244d92d509501ea0daf800f19f454f3;hb=c591ba1d3171d08d194eeb6ea3540ff696a3392b;hp=240be6628bc4a258b88d6d1308e746693c036e1b;hpb=070563c1ac6bf489cb13095ed30a6d290b98ac75;p=collectd.git diff --git a/src/curl_xml.c b/src/curl_xml.c index 240be662..052ea1e6 100644 --- a/src/curl_xml.c +++ b/src/curl_xml.c @@ -555,7 +555,8 @@ static int cx_curl_perform (cx_t *db, CURL *curl) /* {{{ */ curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &rc); - if (rc != 200) + /* The response code is zero if a non-HTTP transport was used. */ + if ((rc != 0) && (rc != 200)) { ERROR ("curl_xml plugin: curl_easy_perform failed with response code %ld (%s)", rc, url); @@ -734,6 +735,7 @@ static int cx_init_curl (cx_t *db) /* {{{ */ return (-1); } + curl_easy_setopt (db->curl, CURLOPT_NOSIGNAL, 1); curl_easy_setopt (db->curl, CURLOPT_WRITEFUNCTION, cx_curl_callback); curl_easy_setopt (db->curl, CURLOPT_WRITEDATA, db); curl_easy_setopt (db->curl, CURLOPT_USERAGENT, @@ -870,7 +872,7 @@ static int cx_config_add_url (oconfig_item_t *ci) /* {{{ */ ssnprintf (cb_name, sizeof (cb_name), "curl_xml-%s-%s", db->instance, db->url); - plugin_register_complex_read (cb_name, cx_read, + plugin_register_complex_read (/* group = */ NULL, cb_name, cx_read, /* interval = */ NULL, &ud); } else