Commit 1c0e93c1 authored by Hisham Muhammad's avatar Hisham Muhammad
Browse files

First new feature of the git era! "c" key tags all children of a process.

parent cd692f27
What's new in version 1.0.3 What's new in version 1.0.3
* Tag all children ('c' key)
* Fixes in accounting of guest time when using virtualization * Fixes in accounting of guest time when using virtualization
(thanks to Patrick Marlier) (thanks to Patrick Marlier)
* Performance improvements * Performance improvements
......
...@@ -272,6 +272,17 @@ static const char* getMainPanelValue(Panel* panel, int i) { ...@@ -272,6 +272,17 @@ static const char* getMainPanelValue(Panel* panel, int i) {
return ""; return "";
} }
static void tagAllChildren(Panel* panel, Process* parent) {
parent->tag = true;
pid_t ppid = parent->pid;
for (int i = 0; i < Panel_size(panel); i++) {
Process* p = (Process*) Panel_get(panel, i);
if (!p->tag && p->ppid == ppid) {
tagAllChildren(panel, p);
}
}
}
int main(int argc, char** argv) { int main(int argc, char** argv) {
int delay = -1; int delay = -1;
...@@ -563,6 +574,13 @@ int main(int argc, char** argv) { ...@@ -563,6 +574,13 @@ int main(int argc, char** argv) {
setSortKey(pl, TIME, panel, settings); setSortKey(pl, TIME, panel, settings);
break; break;
} }
case 'c':
{
Process* p = (Process*) Panel_getSelected(panel);
if (!p) break;
tagAllChildren(panel, p);
break;
}
case 'U': case 'U':
{ {
for (int i = 0; i < Panel_size(panel); i++) { for (int i = 0; i < Panel_size(panel); i++) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment