diff options
author | Tim Moore <timoore@redhat.com> | 2009-12-10 13:13:30 +0100 |
---|---|---|
committer | Tim Moore <timoore@redhat.com> | 2009-12-10 13:13:30 +0100 |
commit | f8e5918969fb63a6148c906025e4ec1f010ca6c6 (patch) | |
tree | 0afae0324e108b6ddd13c558f494f3a79a3e8657 /runtime/alloc.c | |
parent | 3e1613e1f7ab589089e8ed5a504330bb9cb128db (diff) | |
download | systemtap-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