diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-27 18:46:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-27 18:46:10 +0000 |
commit | 9abec302a4736c965a34b930f4f5bf2b1494bf6e (patch) | |
tree | aef24838cdda26750d86362b832263f4bcdf5a0e /collectors/ebpf.plugin/ebpf_cachestat.c | |
parent | Adding upstream version 1.40.0. (diff) | |
download | netdata-9abec302a4736c965a34b930f4f5bf2b1494bf6e.tar.xz netdata-9abec302a4736c965a34b930f4f5bf2b1494bf6e.zip |
Adding upstream version 1.40.1.upstream/1.40.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | collectors/ebpf.plugin/ebpf_cachestat.c | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/collectors/ebpf.plugin/ebpf_cachestat.c b/collectors/ebpf.plugin/ebpf_cachestat.c index 5bbbe1f43..c287136cf 100644 --- a/collectors/ebpf.plugin/ebpf_cachestat.c +++ b/collectors/ebpf.plugin/ebpf_cachestat.c @@ -337,27 +337,6 @@ static inline int ebpf_cachestat_load_and_attach(struct cachestat_bpf *obj, ebpf *****************************************************************/ /** - * Cachestat Free - * - * Cleanup variables after child threads to stop - * - * @param ptr thread data. - */ -static void ebpf_cachestat_free(ebpf_module_t *em) -{ - pthread_mutex_lock(&ebpf_exit_cleanup); - em->enabled = NETDATA_THREAD_EBPF_STOPPING; - pthread_mutex_unlock(&ebpf_exit_cleanup); - - freez(cachestat_vector); - freez(cachestat_values); - - pthread_mutex_lock(&ebpf_exit_cleanup); - em->enabled = NETDATA_THREAD_EBPF_STOPPED; - pthread_mutex_unlock(&ebpf_exit_cleanup); -} - -/** * Cachestat exit. * * Cancel child and exit. @@ -368,7 +347,18 @@ static void ebpf_cachestat_exit(void *ptr) { ebpf_module_t *em = (ebpf_module_t *)ptr; - ebpf_cachestat_free(em); +#ifdef LIBBPF_MAJOR_VERSION + if (cachestat_bpf_obj) + cachestat_bpf__destroy(cachestat_bpf_obj); +#endif + + 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); } /***************************************************************** |