diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-27 18:46:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-27 18:46:20 +0000 |
commit | c933bf105b0de89e3fd524517daf163a16dd0d44 (patch) | |
tree | 50cb525f946e4ac65a416178766e2e124167a40f /collectors/ebpf.plugin/ebpf_dcstat.c | |
parent | Releasing debian version 1.40.0-2. (diff) | |
download | netdata-c933bf105b0de89e3fd524517daf163a16dd0d44.tar.xz netdata-c933bf105b0de89e3fd524517daf163a16dd0d44.zip |
Merging upstream version 1.40.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'collectors/ebpf.plugin/ebpf_dcstat.c')
-rw-r--r-- | collectors/ebpf.plugin/ebpf_dcstat.c | 46 |
1 files changed, 10 insertions, 36 deletions
diff --git a/collectors/ebpf.plugin/ebpf_dcstat.c b/collectors/ebpf.plugin/ebpf_dcstat.c index 5a07e4619..4157f0c87 100644 --- a/collectors/ebpf.plugin/ebpf_dcstat.c +++ b/collectors/ebpf.plugin/ebpf_dcstat.c @@ -286,55 +286,29 @@ void dcstat_update_publish(netdata_publish_dcstat_t *out, uint64_t cache_access, *****************************************************************/ /** - * Clean names - * - * Clean the optional names allocated during startup. - */ -void ebpf_dcstat_clean_names() -{ - size_t i = 0; - while (dc_optional_name[i].program_name) { - freez(dc_optional_name[i].optional); - i++; - } -} - -/** - * DCstat Free + * DCstat exit * - * Cleanup variables after child threads to stop + * Cancel child and exit. * * @param ptr thread data. */ -static void ebpf_dcstat_free(ebpf_module_t *em ) +static void ebpf_dcstat_exit(void *ptr) { - pthread_mutex_lock(&ebpf_exit_cleanup); - em->enabled = NETDATA_THREAD_EBPF_STOPPING; - pthread_mutex_unlock(&ebpf_exit_cleanup); + ebpf_module_t *em = (ebpf_module_t *)ptr; - freez(dcstat_vector); - freez(dcstat_values); +#ifdef LIBBPF_MAJOR_VERSION + if (dc_bpf_obj) + dc_bpf__destroy(dc_bpf_obj); +#endif - ebpf_dcstat_clean_names(); + if (em->objects) + ebpf_unload_legacy_code(em->objects, em->probe_links); pthread_mutex_lock(&ebpf_exit_cleanup); em->enabled = NETDATA_THREAD_EBPF_STOPPED; pthread_mutex_unlock(&ebpf_exit_cleanup); } -/** - * DCstat exit - * - * Cancel child and exit. - * - * @param ptr thread data. - */ -static void ebpf_dcstat_exit(void *ptr) -{ - ebpf_module_t *em = (ebpf_module_t *)ptr; - ebpf_dcstat_free(em); -} - /***************************************************************** * * APPS |