summaryrefslogtreecommitdiffstats
path: root/runtime/alloc.c
diff options
context:
space:
mode:
authorTim Moore <timoore@redhat.com>2009-12-10 13:13:30 +0100
committerTim Moore <timoore@redhat.com>2009-12-10 13:13:30 +0100
commitf8e5918969fb63a6148c906025e4ec1f010ca6c6 (patch)
tree0afae0324e108b6ddd13c558f494f3a79a3e8657 /runtime/alloc.c
parent3e1613e1f7ab589089e8ed5a504330bb9cb128db (diff)
downloadsystemtap-steved-f8e5918969fb63a6148c906025e4ec1f010ca6c6.tar.gz
systemtap-steved-f8e5918969fb63a6148c906025e4ec1f010ca6c6.tar.xz
systemtap-steved-f8e5918969fb63a6148c906025e4ec1f010ca6c6.zip
grapher: change SIGCHLD handling and exit cleanup
The signal handler now calls waitpid() and writes the pid and status to its pipe. * grapher.cxx (ChildInfo): new class (handleChild): wait for zombies and write their status down the pipe. (ChildDeathReader::ioCallback): Read dead child's pid from signal handler pipe and emit signal. (ChildDeathReader::reap): delete (ChildDeathReader::Callback): delete (StapLauncher::StapLauncher): Connect to childDied signal. (StapLauncher setWinParams, reap, cleanUp): delete (onChildDied): new function that updates the parsers list when a child dies. (GrapherWindow): Remove ChildDeathReader::Callback base class (GrapherWindow::onParserListChanged): New function; exits if program is quitting and no parsers are left. (on_menu_file_quit): Kill all children; don't hide (and exit) unless there are no parsers. (main): Don't do any cleanup after Gtk loop exits.
Diffstat (limited to 'runtime/alloc.c')
0 files changed, 0 insertions, 0 deletions