add destroy function

This commit is contained in:
2025-09-21 19:24:01 +05:30
parent aa3bd82194
commit 0a27d5a520
2 changed files with 13 additions and 1 deletions

View File

@ -9,7 +9,7 @@ BpfProgram::BpfProgram(std::string object_path, std::string program_name)
}
BpfProgram::~BpfProgram() {
//TODO: detach here as well
destroy();
if (obj_) {
bpf_object__close(obj_);
}
@ -64,6 +64,17 @@ bool BpfProgram::attach() {
return true;
}
bool BpfProgram::destroy() {
bool success = true;
for (auto [prog, link] : programs) {
if (!prog) {
throw BpfException("Program not loaded");
}
success = success & bpf_link__destroy(link);
}
return success;
}
void BpfProgram::load_and_attach() {
load();
attach();

View File

@ -21,6 +21,7 @@ public:
bool load();
bool attach();
bool destroy();
void load_and_attach();
[[nodiscard]] bool is_loaded() const { return obj_ != nullptr; }