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-3.11' into collectd-4.0
[collectd.git]
/
src
/
sensors.c
diff --git
a/src/sensors.c
b/src/sensors.c
index
6ed8ddd
..
fde8dcd
100644
(file)
--- a/
src/sensors.c
+++ b/
src/sensors.c
@@
-208,7
+208,7
@@
void sensors_free_features (void)
first_feature = NULL;
}
first_feature = NULL;
}
-static
void
sensors_load_conf (void)
+static
int
sensors_load_conf (void)
{
FILE *fh;
featurelist_t *last_feature = NULL;
{
FILE *fh;
featurelist_t *last_feature = NULL;
@@
-234,7
+234,7
@@
static void sensors_load_conf (void)
if ((sensors_config_mtime != 0)
&& (sensors_config_mtime == statbuf.st_mtime))
if ((sensors_config_mtime != 0)
&& (sensors_config_mtime == statbuf.st_mtime))
- return;
+ return
(0)
;
if (sensors_config_mtime != 0)
{
if (sensors_config_mtime != 0)
{
@@
-250,7
+250,7
@@
static void sensors_load_conf (void)
char errbuf[1024];
ERROR ("sensors plugin: fopen(%s) failed: %s", conffile,
sstrerror (errno, errbuf, sizeof (errbuf)));
char errbuf[1024];
ERROR ("sensors plugin: fopen(%s) failed: %s", conffile,
sstrerror (errno, errbuf, sizeof (errbuf)));
- return;
+ return
(-1)
;
}
status = sensors_init (fh);
}
status = sensors_init (fh);
@@
-259,7
+259,7
@@
static void sensors_load_conf (void)
{
ERROR ("sensors plugin: Cannot initialize sensors. "
"Data will not be collected.");
{
ERROR ("sensors plugin: Cannot initialize sensors. "
"Data will not be collected.");
- return;
+ return
(-1)
;
}
sensors_config_mtime = statbuf.st_mtime;
}
sensors_config_mtime = statbuf.st_mtime;
@@
-329,8
+329,11
@@
static void sensors_load_conf (void)
sensors_cleanup ();
INFO ("sensors plugin: lm_sensors reports no "
"features. Data will not be collected.");
sensors_cleanup ();
INFO ("sensors plugin: lm_sensors reports no "
"features. Data will not be collected.");
+ return (-1);
}
}
-} /* void sensors_load_conf */
+
+ return (0);
+} /* int sensors_load_conf */
static int sensors_shutdown (void)
{
static int sensors_shutdown (void)
{
@@
-344,12
+347,24
@@
static void sensors_submit (const char *plugin_instance,
const char *type, const char *type_instance,
double val)
{
const char *type, const char *type_instance,
double val)
{
+ char match_key[1024];
+ int status;
+
value_t values[1];
value_list_t vl = VALUE_LIST_INIT;
value_t values[1];
value_list_t vl = VALUE_LIST_INIT;
- if ((sensor_list != NULL)
- && (ignorelist_match (sensor_list, type_instance)))
+ status = snprintf (match_key, sizeof (match_key), "%s/%s-%s",
+ plugin_instance, type, type_instance);
+ if ((status < 1) || (status >= sizeof (match_key)))
return;
return;
+ match_key[sizeof (match_key) - 1] = '\0';
+
+ if (sensor_list != NULL)
+ {
+ DEBUG ("sensors plugin: Checking ignorelist for `%s'", match_key);
+ if (ignorelist_match (sensor_list, match_key))
+ return;
+ }
values[0].gauge = val;
values[0].gauge = val;
@@
-372,7
+387,8
@@
static int sensors_read (void)
char plugin_instance[DATA_MAX_NAME_LEN];
char type_instance[DATA_MAX_NAME_LEN];
char plugin_instance[DATA_MAX_NAME_LEN];
char type_instance[DATA_MAX_NAME_LEN];
- sensors_load_conf ();
+ if (sensors_load_conf () != 0)
+ return (-1);
for (feature = first_feature; feature != NULL; feature = feature->next)
{
for (feature = first_feature; feature != NULL; feature = feature->next)
{