Sat May 2 21:01:01 2009 UTC ()
make flushpendq drop only entries for the current thread.


(mlelstv)
diff -r1.34 -r1.35 src/usr.bin/ktruss/dump.c

cvs diff -r1.34 -r1.35 src/usr.bin/ktruss/dump.c (expand / switch to context diff)
--- src/usr.bin/ktruss/dump.c 2009/05/02 18:26:53 1.34
+++ src/usr.bin/ktruss/dump.c 2009/05/02 21:01:01 1.35
@@ -1,4 +1,4 @@
-/*	$NetBSD: dump.c,v 1.34 2009/05/02 18:26:53 christos Exp $	*/
+/*	$NetBSD: dump.c,v 1.35 2009/05/02 21:01:01 mlelstv 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.34 2009/05/02 18:26:53 christos Exp $");
+__RCSID("$NetBSD: dump.c,v 1.35 2009/05/02 21:01:01 mlelstv Exp $");
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -216,11 +216,11 @@
 flushpendq(struct ktr_entry *us)
 {
 	struct ktr_entry *kte, *kte_next;
-	int pid = KTE_PID(us);
+	int pid = KTE_PID(us), lid = KTE_LID(us);
 
 	for (kte = TAILQ_FIRST(&ktependq); kte != NULL; kte = kte_next) {
 		kte_next = TAILQ_NEXT(kte, kte_list);
-		if (KTE_PID(kte) == pid) {
+		if (KTE_PID(kte) == pid || KTE_LID(kte) == lid) {
 			TAILQ_REMOVE(&ktependq, kte, kte_list);
 			free(kte);
 		}