summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2010-01-14 16:40:45 -0800
committerJosh Stone <jistone@redhat.com>2010-01-14 16:40:45 -0800
commit19d91f6c2fcc4dea3b86e05721275cf0f8117e74 (patch)
tree317bc925b18679f120538cc74165758641ff390c /tapsets.cxx
parent622fa74aa720b3eda55c81530d458e3ea7792bb2 (diff)
downloadsystemtap-steved-19d91f6c2fcc4dea3b86e05721275cf0f8117e74.tar.gz
systemtap-steved-19d91f6c2fcc4dea3b86e05721275cf0f8117e74.tar.xz
systemtap-steved-19d91f6c2fcc4dea3b86e05721275cf0f8117e74.zip
PR11151: Recover stap_uprobes slots on process exit
When a process exits, it won't necessarily bother to munmap all of its shared libraries. This patch makes sure that with uprobes in libraries, we still grab an exit notification and clear everything out. * runtime/uprobes-common.c (stap_uprobe_process_munmap): New. * tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Use above callback so that we can recover our resources on process exit.
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 7835b39a..071f92db 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -4632,6 +4632,7 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->line() << " .procname=\"" << p->path << "\", ";
s.op->line() << " .mmap_callback=&stap_uprobe_mmap_found, ";
s.op->line() << " .munmap_callback=&stap_uprobe_munmap_found, ";
+ s.op->line() << " .callback=&stap_uprobe_process_munmap,";
}
s.op->line() << " },";