summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4413d76)
raw | patch | inline | side by side (parent: 4413d76)
author | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Fri, 12 Oct 2007 16:48:21 +0000 (18:48 +0200) | ||
committer | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Fri, 12 Oct 2007 16:48:21 +0000 (18:48 +0200) |
The init-function should return non-zero in that case and the plugin should be
disabled, but I'd rather not rely on such conventions too much..
disabled, but I'd rather not rely on such conventions too much..
src/ipvs.c | patch | blob | history |
diff --git a/src/ipvs.c b/src/ipvs.c
index 4c6305864941e4d9572d72ec59326c8679365d25..cec309274d03b0ef291123add1036daa41a96c07 100644 (file)
--- a/src/ipvs.c
+++ b/src/ipvs.c
#define log_err(...) ERROR ("ipvs: " __VA_ARGS__)
#define log_info(...) INFO ("ipvs: " __VA_ARGS__)
-
/*
* private variables
*/
-
-static int sockfd = -1;
-
+static int sockfd = -1;
/*
* libipvs API
*/
-
static struct ip_vs_get_services *ipvs_get_services (void)
{
struct ip_vs_getinfo ipvs_info;
return ret;
} /* ip_vs_get_dests */
-
/*
* collectd plugin API and helper functions
*/
-
static int cipvs_init (void)
{
struct ip_vs_getinfo ipvs_info;
log_err ("cipvs_init: getsockopt() failed: %s",
sstrerror (errno, errbuf, sizeof (errbuf)));
close (sockfd);
+ sockfd = -1;
return -1;
}
log_err ("cipvs_init: IPVS version too old (%d.%d.%d < %d.%d.%d)",
NVERSION (ipvs_info.version), 1, 1, 4);
close (sockfd);
+ sockfd = -1;
return -1;
}
else {
static int cipvs_read (void)
{
struct ip_vs_get_services *services = NULL;
-
int i = 0;
+ if (sockfd < 0)
+ return (-1);
+
if (NULL == (services = ipvs_get_services ()))
return -1;
static int cipvs_shutdown (void)
{
- close (sockfd);
+ if (sockfd >= 0)
+ close (sockfd);
+ sockfs = -1;
+
return 0;
} /* cipvs_shutdown */
} /* module_register */
/* vim: set sw=4 ts=4 tw=78 noexpandtab : */
-