aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/subr_turnstile.c
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2006-07-12 21:25:24 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2006-07-12 21:25:24 +0000
commitfed7988436c41b03c69db32f6e56c0c9784c3d0c (patch)
treecc7dc32f521d35bb464fd0741eefd335a0b651d6 /sys/kern/subr_turnstile.c
parent19e9205a23a412d9e48707fc012db23116ccf282 (diff)
downloadsrc-fed7988436c41b03c69db32f6e56c0c9784c3d0c.tar.gz
src-fed7988436c41b03c69db32f6e56c0c9784c3d0c.zip
Notes
Diffstat (limited to 'sys/kern/subr_turnstile.c')
-rw-r--r--sys/kern/subr_turnstile.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/kern/subr_turnstile.c b/sys/kern/subr_turnstile.c
index 2c3e34b4fd2e..1ef19b89443c 100644
--- a/sys/kern/subr_turnstile.c
+++ b/sys/kern/subr_turnstile.c
@@ -1046,7 +1046,7 @@ print_threadchain(struct thread *td, const char *prefix)
* Follow the chain. We keep walking as long as the thread is
* blocked on a turnstile that has an owner.
*/
- for (;;) {
+ while (!db_pager_quit) {
db_printf("%sthread %d (pid %d, %s) ", prefix, td->td_tid,
td->td_proc->p_pid, td->td_name[0] != '\0' ? td->td_name :
td->td_proc->p_comm);
@@ -1110,6 +1110,8 @@ DB_SHOW_COMMAND(allchains, db_show_allchains)
db_printf("chain %d:\n", i++);
print_threadchain(td, " ");
}
+ if (db_pager_quit)
+ return;
}
}
}
@@ -1122,6 +1124,8 @@ print_waiter(struct thread *td, int indent)
struct turnstile *ts;
int i;
+ if (db_pager_quit)
+ return;
for (i = 0; i < indent; i++)
db_printf(" ");
print_thread(td, "thread ");
@@ -1137,6 +1141,8 @@ print_waiters(struct turnstile *ts, int indent)
struct thread *td;
int i;
+ if (db_pager_quit)
+ return;
lock = ts->ts_lockobj;
class = LOCK_CLASS(lock);
for (i = 0; i < indent; i++)