summaryrefslogtreecommitdiffstats
path: root/usr.bin/truss/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/truss/main.c')
-rw-r--r--usr.bin/truss/main.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/usr.bin/truss/main.c b/usr.bin/truss/main.c
index cb97293..02c6930 100644
--- a/usr.bin/truss/main.c
+++ b/usr.bin/truss/main.c
@@ -163,6 +163,7 @@ strsig(int sig)
int
main(int ac, char **av)
{
+ struct timespec timediff;
struct sigaction sa;
struct ex_types *funcs;
struct trussinfo *trussinfo;
@@ -170,7 +171,7 @@ main(int ac, char **av)
char *signame;
char **command;
pid_t childpid;
- int c, i, initial_open, status;
+ int c, initial_open, status;
fname = NULL;
initial_open = 1;
@@ -286,18 +287,17 @@ START_TRACE:
clock_gettime(CLOCK_REALTIME, &trussinfo->start_time);
do {
- struct timespec timediff;
waitevent(trussinfo);
- switch (i = trussinfo->pr_why) {
+ switch (trussinfo->pr_why) {
case S_SCE:
funcs->enter_syscall(trussinfo, MAXARGS);
clock_gettime(CLOCK_REALTIME,
- &trussinfo->before);
+ &trussinfo->curthread->before);
break;
case S_SCX:
clock_gettime(CLOCK_REALTIME,
- &trussinfo->after);
+ &trussinfo->curthread->after);
if (trussinfo->curthread->in_fork &&
(trussinfo->flags & FOLLOWFORKS)) {
@@ -326,15 +326,15 @@ START_TRACE:
fprintf(trussinfo->outfile, "%5d: ",
trussinfo->pid);
if (trussinfo->flags & ABSOLUTETIMESTAMPS) {
- timespecsubt(&trussinfo->after,
+ timespecsubt(&trussinfo->curthread->after,
&trussinfo->start_time, &timediff);
fprintf(trussinfo->outfile, "%ld.%09ld ",
(long)timediff.tv_sec,
timediff.tv_nsec);
}
if (trussinfo->flags & RELATIVETIMESTAMPS) {
- timespecsubt(&trussinfo->after,
- &trussinfo->before, &timediff);
+ timespecsubt(&trussinfo->curthread->after,
+ &trussinfo->curthread->before, &timediff);
fprintf(trussinfo->outfile, "%ld.%09ld ",
(long)timediff.tv_sec,
timediff.tv_nsec);
@@ -352,15 +352,15 @@ START_TRACE:
fprintf(trussinfo->outfile, "%5d: ",
trussinfo->pid);
if (trussinfo->flags & ABSOLUTETIMESTAMPS) {
- timespecsubt(&trussinfo->after,
+ timespecsubt(&trussinfo->curthread->after,
&trussinfo->start_time, &timediff);
fprintf(trussinfo->outfile, "%ld.%09ld ",
(long)timediff.tv_sec,
timediff.tv_nsec);
}
if (trussinfo->flags & RELATIVETIMESTAMPS) {
- timespecsubt(&trussinfo->after,
- &trussinfo->before, &timediff);
+ timespecsubt(&trussinfo->curthread->after,
+ &trussinfo->curthread->before, &timediff);
fprintf(trussinfo->outfile, "%ld.%09ld ",
(long)timediff.tv_sec, timediff.tv_nsec);
}
OpenPOWER on IntegriCloud