summaryrefslogtreecommitdiffstats
path: root/usr.bin/truss/syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/truss/syscalls.c')
-rw-r--r--usr.bin/truss/syscalls.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/usr.bin/truss/syscalls.c b/usr.bin/truss/syscalls.c
index 4fba0cc..0afd083 100644
--- a/usr.bin/truss/syscalls.c
+++ b/usr.bin/truss/syscalls.c
@@ -1120,20 +1120,21 @@ print_syscall(struct trussinfo *trussinfo, const char *name, int nargs,
if (trussinfo->flags & FOLLOWFORKS)
len += fprintf(trussinfo->outfile, "%5d: ", trussinfo->pid);
- if (name != NULL && (strcmp(name, "execve") == 0||
+ if (name != NULL && (strcmp(name, "execve") == 0 ||
strcmp(name, "exit") == 0)) {
- clock_gettime(CLOCK_REALTIME, &trussinfo->after);
+ clock_gettime(CLOCK_REALTIME, &trussinfo->curthread->after);
}
if (trussinfo->flags & ABSOLUTETIMESTAMPS) {
- timespecsubt(&trussinfo->after, &trussinfo->start_time,
- &timediff);
+ timespecsubt(&trussinfo->curthread->after,
+ &trussinfo->start_time, &timediff);
len += 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);
len += fprintf(trussinfo->outfile, "%ld.%09ld ",
(long)timediff.tv_sec, timediff.tv_nsec);
}
@@ -1163,8 +1164,9 @@ print_syscall_ret(struct trussinfo *trussinfo, const char *name, int nargs,
if (trussinfo->flags & COUNTONLY) {
if (!sc)
return;
- clock_gettime(CLOCK_REALTIME, &trussinfo->after);
- timespecsubt(&trussinfo->after, &trussinfo->before, &timediff);
+ clock_gettime(CLOCK_REALTIME, &trussinfo->curthread->after);
+ timespecsubt(&trussinfo->curthread->after,
+ &trussinfo->curthread->before, &timediff);
timespecadd(&sc->time, &timediff, &sc->time);
sc->ncalls++;
if (errorp)
OpenPOWER on IntegriCloud