• Sasha Goldshtein's avatar
    cc, python: Clean up BPF module and tables · c085977e
    Sasha Goldshtein authored
    When the `BPFModule` object is destroyed, shared tables
    were closed, but non-shared tables were not. Add `close`
    call to close non-shared tables in `~BPFModule`.
    
    Make sure the `BPF.cleanup` function in the Python module
    calls `bpf_module_destroy` to clean up the module. Otherwise,
    we have hanging table fds that aren't destroyed.
    
    Fixes #806. This would have been an issue for any tool
    that repeatedly runs a BPF program with new maps. It's just
    that most tools we have haven't exhibited this behavior.
    c085977e
bpf_module.cc 22.3 KB