110,10 → 110,8 |
|
klog_printf("debug_go()"); |
ta = get_lock_callee_task(phone); |
|
// FIXME: must save this in thread struct, not task struct!!! |
ta->debug_go_call = call; |
spinlock_unlock(&ta->lock); |
// TODO: don't lock ta |
|
t = (thread_t *) IPC_GET_ARG2(call->data); |
|
120,12 → 118,14 |
ipl = interrupts_disable(); |
spinlock_lock(&threads_lock); |
|
if (!thread_exists(t)) { |
/* Verify that 't' exists and belongs to task 'ta' */ |
if (!thread_exists(t) || (t->task != ta)) { |
spinlock_unlock(&threads_lock); |
interrupts_restore(ipl); |
return ENOENT; |
} |
|
t->debug_go_call = call; |
t->debug_stop = false; |
waitq_wakeup(&t->go_wq, WAKEUP_FIRST); |
|