summaryrefslogtreecommitdiffstats
path: root/grapher/StapParser.hxx
diff options
context:
space:
mode:
authorTim Moore <timoore@redhat.com>2009-12-09 22:09:39 +0100
committerTim Moore <timoore@redhat.com>2009-12-09 22:09:39 +0100
commit3e1613e1f7ab589089e8ed5a504330bb9cb128db (patch)
treecc2a639738801467b52dad823d2eb4e2b187bf4e /grapher/StapParser.hxx
parentf4ba7c13533b7e99edd0e66a0f6ccd6c0f55ec38 (diff)
downloadsystemtap-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.hxx8
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();
}