From 022567d3a0708c1023ff7f866ef33a910dc29e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 29 Aug 2006 11:05:22 +0000 Subject: [PATCH] Dumping semaphore info in the kernel debugger will now print the whole queue of waiting threads by ID (instead of just the queue head and tail pointers). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18688 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/sem.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/sem.c b/src/system/kernel/sem.c index 2d42347ffe..cb37f9b128 100644 --- a/src/system/kernel/sem.c +++ b/src/system/kernel/sem.c @@ -150,8 +150,16 @@ dump_sem(struct sem_entry *sem) kprintf("name: '%s'\n", sem->u.used.name); kprintf("owner: 0x%lx\n", sem->u.used.owner); kprintf("count: 0x%lx\n", sem->u.used.count); - kprintf("queue: head %p tail %p\n", sem->u.used.queue.head, - sem->u.used.queue.tail); + kprintf("queue: "); + if (sem->u.used.queue.head != NULL) { + struct thread *thread = sem->u.used.queue.head; + while (thread != NULL) { + kprintf(" %lx", thread->id); + thread = thread->queue_next; + } + kprintf("\n"); + } else + kprintf(" -\n"); #ifdef DEBUG_LAST_ACQUIRER kprintf("last acquired by: 0x%lx\n", sem->u.used.last_acquirer); #endif