delete $unfinished{$pid};
}
- if (/^--- SIG(\S+) \(.*\) ---$/) {
+ if (/^--- SIG(\S+) (.*) ---$/) {
# $pid received signal $1
# currently we don't do anything with this
next;
next;
}
+ if (/^\+\+\+ exited with (\d+) \+\+\+$/) {
+ # $pid exited $1
+ # currently we don't do anything with this
+ next;
+ }
+
($call, $args, $result) = /(\S+)\((.*)\)\s+= (.*)$/;
if ($result =~ /^(.*) <([0-9.]*)>$/) {
($result, $time_spent) = ($1, $2);
push @$seq, ['FORK', $result];
$pr{$pid}{seq} = $seq;
$pr{$result}{parent} = $pid;
- } elsif ($call eq '_exit') {
+ } elsif ($call eq '_exit' || $call eq 'exit_group') {
$pr{$pid}{end} = $time if defined $time;
}
}