77,9 → 77,9 |
ipl_t ipl; |
|
ipl = interrupts_disable(); |
spinlock_lock(&TASK->lock); |
spinlock_lock(&THREAD->lock); |
|
if (TASK->dt_state == UDEBUG_TS_ACTIVE) { |
if (THREAD->debug_active == true) { |
klog_printf("udebug_syscall_event"); |
call = THREAD->debug_go_call; |
IPC_SET_RETVAL(call->data, 0); |
101,14 → 101,17 |
* point it must be back to the initial true value). |
*/ |
THREAD->debug_stop = true; |
spinlock_unlock(&THREAD->lock); |
|
spinlock_lock(&TASK->lock); |
ipc_answer(&TASK->answerbox, THREAD->debug_go_call); |
spinlock_unlock(&TASK->lock); |
|
interrupts_restore(ipl); |
|
waitq_sleep(&THREAD->go_wq); |
} else { |
spinlock_unlock(&TASK->lock); |
spinlock_unlock(&THREAD->lock); |
interrupts_restore(ipl); |
} |
} |