diff options
author | Tim Moore <timoore@redhat.com> | 2009-12-09 22:09:39 +0100 |
---|---|---|
committer | Tim Moore <timoore@redhat.com> | 2009-12-09 22:09:39 +0100 |
commit | 3e1613e1f7ab589089e8ed5a504330bb9cb128db (patch) | |
tree | cc2a639738801467b52dad823d2eb4e2b187bf4e /grapher/StapParser.hxx | |
parent | f4ba7c13533b7e99edd0e66a0f6ccd6c0f55ec38 (diff) | |
download | systemtap-steved-3e1613e1f7ab589089e8ed5a504330bb9cb128db.tar.gz systemtap-steved-3e1613e1f7ab589089e8ed5a504330bb9cb128db.tar.xz systemtap-steved-3e1613e1f7ab589089e8ed5a504330bb9cb128db.zip |
show the status of stap processes in the process window
Also, the "kill" button now works.
* grapher/StapParser.hxx (_ioConnection, _errIoConnection): new
members for sigc connections.
(initIo): New function
(parsers, parserListChangedSignal): new variables
* grapher/StapParser.cxx (ioCallback): disconnect signals when child
dies
(initIo): new function
* grapher/grapher.cxx (StapLauncher): eliminate death callback in
favor of childDied signal. Use global parsers list
(ProcWindow::_listSelection): new member
(ProcWindow::show, hide, onParserListChanged, onSelectionChanged,
onKill): new functions
(ProcWindow::ProcWindow): Set up cell renderer for status icon
* grapher/processwindow.glade: labels for display script and stap arguments
Diffstat (limited to 'grapher/StapParser.hxx')
-rw-r--r-- | grapher/StapParser.hxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/grapher/StapParser.hxx b/grapher/StapParser.hxx index cfb807a8..4dd711e6 100644 --- a/grapher/StapParser.hxx +++ b/grapher/StapParser.hxx @@ -38,6 +38,8 @@ namespace systemtap int _inFd; unsigned char _lineEndChar; std::tr1::shared_ptr<StapProcess> _process; + sigc::connection _ioConnection; + sigc::connection _errIoConnection; public: StapParser() : _errFd(-1), _inFd(-1), _lineEndChar('\n') @@ -63,7 +65,13 @@ namespace systemtap { _process = process; } + void initIo(int inFd, int errFd); }; sigc::signal<void, pid_t>& childDiedSignal(); + + typedef std::vector<std::tr1::shared_ptr<StapParser> > ParserList; + extern ParserList parsers; + + sigc::signal<void>& parserListChangedSignal(); } |