Code

core: Automatically determine config callback names.
[sysdb.git] / src / backend / collectd / unixsock.c
index 0c5082af54c0b9ca99a95ef8fea295ffeeae1e3b..3a41fdf65e0e7d628d9a7e032412fb8f6f9e8649 100644 (file)
@@ -192,6 +192,11 @@ sdb_collectd_init(sdb_object_t *user_data)
 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 */
 
@@ -270,6 +275,7 @@ sdb_collectd_collect(sdb_object_t *user_data)
                                "%i service%s (%i failed) for host '%s'.",
                                state.svc_updated, state.svc_updated == 1 ? "" : "s",
                                state.svc_failed, state.current_host);
+               free(state.current_host);
        }
        return 0;
 } /* sdb_collectd_collect */
@@ -375,7 +381,7 @@ sdb_module_init(sdb_plugin_info_t *info)
        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 */