projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #1699 from tokkee/sh/grpc
[collectd.git]
/
src
/
daemon
/
plugin.c
diff --git
a/src/daemon/plugin.c
b/src/daemon/plugin.c
index
e593939
..
3a2e287
100644
(file)
--- a/
src/daemon/plugin.c
+++ b/
src/daemon/plugin.c
@@
-1690,11
+1690,12
@@
int plugin_unregister_notification (const char *name)
return (plugin_unregister (list_notification, name));
}
return (plugin_unregister (list_notification, name));
}
-
void
plugin_init_all (void)
+
int
plugin_init_all (void)
{
char const *chain_name;
llentry_t *le;
int status;
{
char const *chain_name;
llentry_t *le;
int status;
+ int ret = 0;
/* Init the value cache */
uc_init ();
/* Init the value cache */
uc_init ();
@@
-1739,7
+1740,7
@@
void plugin_init_all (void)
}
if ((list_init == NULL) && (read_heap == NULL))
}
if ((list_init == NULL) && (read_heap == NULL))
- return;
+ return
ret
;
/* Calling all init callbacks before checking if read callbacks
* are available allows the init callbacks to register the read
/* Calling all init callbacks before checking if read callbacks
* are available allows the init callbacks to register the read
@@
-1768,6
+1769,7
@@
void plugin_init_all (void)
* handling themselves. */
/* FIXME: Unload _all_ functions */
plugin_unregister_read (le->key);
* handling themselves. */
/* FIXME: Unload _all_ functions */
plugin_unregister_read (le->key);
+ ret = -1;
}
le = le->next;
}
le = le->next;
@@
-1789,6
+1791,7
@@
void plugin_init_all (void)
if (num != -1)
start_read_threads ((num > 0) ? num : 5);
}
if (num != -1)
start_read_threads ((num > 0) ? num : 5);
}
+ return ret;
} /* void plugin_init_all */
/* TODO: Rename this function. */
} /* void plugin_init_all */
/* TODO: Rename this function. */
@@
-1972,9
+1975,10
@@
int plugin_flush (const char *plugin, cdtime_t timeout, const char *identifier)
return (0);
} /* int plugin_flush */
return (0);
} /* int plugin_flush */
-
void
plugin_shutdown_all (void)
+
int
plugin_shutdown_all (void)
{
llentry_t *le;
{
llentry_t *le;
+ int ret = 0; // Assume success.
stop_read_threads ();
stop_read_threads ();
@@
-2011,7
+2015,8
@@
void plugin_shutdown_all (void)
* after callback returns. */
le = le->next;
* after callback returns. */
le = le->next;
- (*callback) ();
+ if ((*callback) () != 0)
+ ret = -1;
plugin_set_ctx (old_ctx);
}
plugin_set_ctx (old_ctx);
}
@@
-2033,6
+2038,7
@@
void plugin_shutdown_all (void)
plugin_free_loaded ();
plugin_free_data_sets ();
plugin_free_loaded ();
plugin_free_data_sets ();
+ return (ret);
} /* void plugin_shutdown_all */
int plugin_dispatch_missing (const value_list_t *vl) /* {{{ */
} /* void plugin_shutdown_all */
int plugin_dispatch_missing (const value_list_t *vl) /* {{{ */
@@
-2088,8
+2094,10
@@
static int plugin_dispatch_values_internal (value_list_t *vl)
int free_meta_data = 0;
int free_meta_data = 0;
- if ((vl == NULL) || (vl->type[0] == 0)
- || (vl->values == NULL) || (vl->values_len < 1))
+ assert(vl);
+ assert(vl->plugin);
+
+ if (vl->type[0] == 0 || vl->values == NULL || vl->values_len < 1)
{
ERROR ("plugin_dispatch_values: Invalid value list "
"from plugin %s.", vl->plugin);
{
ERROR ("plugin_dispatch_values: Invalid value list "
"from plugin %s.", vl->plugin);
@@
-2354,7
+2362,7
@@
int plugin_dispatch_multivalue (value_list_t const *template, /* {{{ */
assert (template->values_len == 1);
assert (template->values_len == 1);
- /* Calculate sum for Gauge to calculate percent if needed */
+
/* Calculate sum for Gauge to calculate percent if needed */
if (DS_TYPE_GAUGE == store_type) {
va_start (ap, store_type);
while (42)
if (DS_TYPE_GAUGE == store_type) {
va_start (ap, store_type);
while (42)