From e7555d345caa2cbbcf2714568b435c7f77422e51 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 30 Aug 2007 02:22:52 +0000 Subject: [PATCH] Also interrupt condition variables in _user_debug_thread(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22120 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/debug/user_debugger.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/debug/user_debugger.cpp b/src/system/kernel/debug/user_debugger.cpp index fd0ea28173..6f4fda310f 100644 --- a/src/system/kernel/debug/user_debugger.cpp +++ b/src/system/kernel/debug/user_debugger.cpp @@ -2194,6 +2194,8 @@ _user_remove_team_debugger(team_id teamID) status_t _user_debug_thread(thread_id threadID) { + TRACE(("[%ld] _user_debug_thread(%ld)\n", find_thread(NULL), threadID)); + // tell the thread to stop as soon as possible status_t error = B_OK; cpu_status state = disable_interrupts(); @@ -2225,7 +2227,10 @@ _user_debug_thread(thread_id threadID) case B_THREAD_WAITING: // thread waiting: interrupt it - sem_interrupt_thread(thread); + if (thread->sem.blocking >= 0) + sem_interrupt_thread(thread); + else if (thread->condition_variable_entry) + condition_variable_interrupt_thread(thread); break; } }