index 6fc2ef901176bf82c34b9b275623a7b84a0c8977..00e1258eb222761d052a556824deac68fb690997 100644 (file)
static int
sdb_collectd_shutdown(__attribute__((unused)) sdb_object_t *user_data)
{
+ if (! user_data)
+ return -1;
+
+ sdb_unixsock_client_destroy(SDB_OBJ_WRAPPER(user_data)->data);
+ SDB_OBJ_WRAPPER(user_data)->data = NULL;
return 0;
} /* sdb_collectd_shutdown */
char *name = NULL;
char *socket_path = NULL;
- char cb_name[1024];
-
sdb_object_t *user_data;
sdb_unixsock_client_t *client;
return -1;
}
- snprintf(cb_name, sizeof(cb_name), "collectd::unixsock::%s", name);
- cb_name[sizeof(cb_name) - 1] = '\0';
-
client = sdb_unixsock_client_create(socket_path);
if (! client) {
char errbuf[1024];
return -1;
}
- sdb_plugin_register_init(cb_name, sdb_collectd_init, user_data);
- sdb_plugin_register_shutdown(cb_name, sdb_collectd_shutdown, user_data);
+ sdb_plugin_register_init(name, sdb_collectd_init, user_data);
+ sdb_plugin_register_shutdown(name, sdb_collectd_shutdown, user_data);
- sdb_plugin_register_collector(cb_name, sdb_collectd_collect,
+ sdb_plugin_register_collector(name, sdb_collectd_collect,
/* interval */ NULL, user_data);
/* pass control to the list */
int
sdb_module_init(sdb_plugin_info_t *info)
{
- sdb_plugin_set_info(info, SDB_PLUGIN_INFO_NAME, "collectd::unixsock");
sdb_plugin_set_info(info, SDB_PLUGIN_INFO_DESC,
"backend accessing the system statistics collection daemon "
"throught the UNIXSOCK interface");
sdb_plugin_set_info(info, SDB_PLUGIN_INFO_VERSION, SDB_VERSION);
sdb_plugin_set_info(info, SDB_PLUGIN_INFO_PLUGIN_VERSION, SDB_VERSION);
- sdb_plugin_register_config("collectd::unixsock", sdb_collectd_config);
+ sdb_plugin_register_config(sdb_collectd_config);
return 0;
} /* sdb_version_extra */