Fix fowllowing problems:
1. If fork()ing, the program is executed twice. 2. If the ktruss(1) output is bufferd, the final output is not flushed (because it is executing). % ktrace -f - rm >/dev/null usage: rm [-dfiPRrW] file ... usage: rm [-dfiPRrW] file ... % ktruss date | cat Fri Jul 23 12:09:45 JST 1999 Fri Jul 23 12:09:46 JST 1999 %
This commit is contained in:
parent
7cd460ef5e
commit
99624b0b6d
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ktrace.c,v 1.10 1999/01/11 22:40:01 kleink Exp $ */
|
||||
/* $NetBSD: ktrace.c,v 1.11 1999/07/23 03:10:49 itohy Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1988, 1993
|
||||
|
@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1993\n\
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)ktrace.c 8.2 (Berkeley) 4/28/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: ktrace.c,v 1.10 1999/01/11 22:40:01 kleink Exp $");
|
||||
__RCSID("$NetBSD: ktrace.c,v 1.11 1999/07/23 03:10:49 itohy Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -290,6 +290,12 @@ do_ktrace(tracefile, ops, trpoints, pid)
|
|||
cnt += n;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!nofork)
|
||||
#ifdef KTRUSS
|
||||
exit(0); /* flush stdio needed */
|
||||
#else
|
||||
_exit(0);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue