Module Name: src Committed By: njoly Date: Fri Jul 24 11:34:03 UTC 2009
Modified Files: src/usr.bin/ktruss: dump.c Log Message: Delay emulation record output, to be processed after the current syscall; to avoid picking syscall name from the wrong emulation table. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/usr.bin/ktruss/dump.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/ktruss/dump.c diff -u src/usr.bin/ktruss/dump.c:1.35 src/usr.bin/ktruss/dump.c:1.36 --- src/usr.bin/ktruss/dump.c:1.35 Sat May 2 21:01:01 2009 +++ src/usr.bin/ktruss/dump.c Fri Jul 24 11:34:03 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: dump.c,v 1.35 2009/05/02 21:01:01 mlelstv Exp $ */ +/* $NetBSD: dump.c,v 1.36 2009/07/24 11:34:03 njoly Exp $ */ /*- * Copyright (c) 1988, 1993 @@ -39,7 +39,7 @@ #if 0 static char sccsid[] = "@(#)kdump.c 8.4 (Berkeley) 4/28/95"; #endif -__RCSID("$NetBSD: dump.c,v 1.35 2009/05/02 21:01:01 mlelstv Exp $"); +__RCSID("$NetBSD: dump.c,v 1.36 2009/07/24 11:34:03 njoly Exp $"); #endif /* not lint */ #include <sys/param.h> @@ -288,7 +288,7 @@ ktrcsw(kte); break; case KTR_EMUL: - ktremul(kte); + putpendq(kte); break; default: /* @@ -649,6 +649,7 @@ { struct ktr_header *kth = &kte->kte_kth; struct ktr_sysret *ktr = (struct ktr_sysret *)(kth + 1); + struct ktr_entry *emul; struct ktr_entry *genio; struct ktr_entry *syscall_ent; @@ -676,6 +677,12 @@ free(genio); } + emul = getpendq(kth, KTR_EMUL, NULL); + if (emul != NULL) { + newline(); + ktremul(emul); + } + flushpendq(kte); free(kte); }