From 5aee691ed843815dab1736dc5eb77d9cd20ea1ef Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 17 Jan 2008 23:07:59 +0000 Subject: [PATCH] The "sem" and "port" debugger commands set some temporary variables, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23595 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/port.cpp | 6 ++++++ src/system/kernel/sem.cpp | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/system/kernel/port.cpp b/src/system/kernel/port.cpp index 2b21c6aa15..83db013ae9 100644 --- a/src/system/kernel/port.cpp +++ b/src/system/kernel/port.cpp @@ -125,6 +125,12 @@ _dump_port_info(struct port_entry *port) get_sem_count(port->write_sem, &count); kprintf(" write_sem count: %ld\n", count); kprintf(" total count: %ld\n", port->total_count); + + set_debug_variable("_port", (addr_t)port); + set_debug_variable("_portID", port->id); + set_debug_variable("_owner", port->owner); + set_debug_variable("_readSem", port->read_sem); + set_debug_variable("_writeSem", port->write_sem); } diff --git a/src/system/kernel/sem.cpp b/src/system/kernel/sem.cpp index 55035876fd..8bb2b34bec 100644 --- a/src/system/kernel/sem.cpp +++ b/src/system/kernel/sem.cpp @@ -166,11 +166,26 @@ dump_sem(struct sem_entry *sem) kprintf("\n"); } else kprintf(" -\n"); + + set_debug_variable("_sem", (addr_t)sem); + set_debug_variable("_semID", sem->id); + set_debug_variable("_owner", sem->u.used.owner); + #ifdef DEBUG_LAST_ACQUIRER kprintf("last acquired by: %ld, count: %ld\n", sem->u.used.last_acquirer, sem->u.used.last_acquire_count); kprintf("last released by: %ld, count: %ld\n", sem->u.used.last_releaser, sem->u.used.last_release_count); + + if (sem->u.used.last_acquirer != 0) + set_debug_variable("_acquirer", sem->u.used.last_acquirer); + else + unset_debug_variable("_acquirer"); + + if (sem->u.used.last_releaser != 0) + set_debug_variable("_releaser", sem->u.used.last_releaser); + else + unset_debug_variable("_releaser"); #endif } else { kprintf("next: %p\n", sem->u.unused.next);