@cryptotaxi247 / netdata-1 / commits / 09a2bd54b

Fix cgroup-network spawn server cleanup on fatal exit (#21080)

Costa Tsaousis committed Oct 3, 2025 at 12:48 UTC 09a2bd54b021822a8645f180286fe5000b55ac6f
1 file changed +9
src/collectors/cgroups.plugin/cgroup-network.c
+9
@@ -724,6 +724,13 @@ char *fix_path_variable(void) {
724 // ----------------------------------------------------------------------------
725 // main
726
727 +static void cleanup_spawn_server_on_fatal(void) {
728 + if(spawn_server) {
729 + spawn_server_destroy(spawn_server);
730 + spawn_server = NULL;
731 + }
732 +}
733 +
734 void usage(void) {
735 fprintf(stderr, "%s [ -p PID | --pid PID | --cgroup /path/to/cgroup ]\n", program_name);
736 exit(1);
@@ -737,6 +744,7 @@ int main(int argc, const char **argv) {
744
745 nd_log_initialize_for_external_plugins("cgroup-network");
746 spawn_server = spawn_server_create(SPAWN_SERVER_OPTION_EXEC | SPAWN_SERVER_OPTION_CALLBACK, NULL, spawn_callback, argc, argv);
747 + nd_log_register_fatal_final_cb(cleanup_spawn_server_on_fatal);
748
749 // since cgroup-network runs as root, prevent it from opening symbolic links
750 procfile_open_flags = O_RDONLY|O_NOFOLLOW;
@@ -819,6 +827,7 @@ int main(int argc, const char **argv) {
827 int found = send_devices();
828
829 spawn_server_destroy(spawn_server);
830 + spawn_server = NULL;
831
832 if(found <= 0) return 1;
833 return 0;