projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-4.10' into collectd-5.3
[collectd.git]
/
src
/
curl_json.c
diff --git
a/src/curl_json.c
b/src/curl_json.c
index
deee460
..
a4afa02
100644
(file)
--- a/
src/curl_json.c
+++ b/
src/curl_json.c
@@
-48,10
+48,10
@@
struct cj_key_s;
typedef struct cj_key_s cj_key_t;
struct cj_key_s /* {{{ */
{
typedef struct cj_key_s cj_key_t;
struct cj_key_s /* {{{ */
{
+ unsigned long magic;
char *path;
char *type;
char *instance;
char *path;
char *type;
char *instance;
- unsigned long magic;
};
/* }}} */
};
/* }}} */
@@
-500,6
+500,7
@@
static int cj_config_add_key (cj_t *db, /* {{{ */
len = ptr-name;
if (len == 0)
break;
len = ptr-name;
if (len == 0)
break;
+ len = COUCH_MIN(len, sizeof (ent)-1);
sstrncpy (ent, name, len+1);
if (c_avl_get (tree, ent, (void *) &value) != 0)
sstrncpy (ent, name, len+1);
if (c_avl_get (tree, ent, (void *) &value) != 0)
@@
-856,9
+857,18
@@
static int cj_read (user_data_t *ud) /* {{{ */
return cj_curl_perform (db, db->curl);
} /* }}} int cj_read */
return cj_curl_perform (db, db->curl);
} /* }}} int cj_read */
+static int cj_init (void) /* {{{ */
+{
+ /* Call this while collectd is still single-threaded to avoid
+ * initialization issues in libgcrypt. */
+ curl_global_init (CURL_GLOBAL_SSL);
+ return (0);
+} /* }}} int cj_init */
+
void module_register (void)
{
plugin_register_complex_config ("curl_json", cj_config);
void module_register (void)
{
plugin_register_complex_config ("curl_json", cj_config);
+ plugin_register_init ("curl_json", cj_init);
} /* void module_register */
/* vim: set sw=2 sts=2 et fdm=marker : */
} /* void module_register */
/* vim: set sw=2 sts=2 et fdm=marker : */