Subversion Repositories HelenOS

Rev

Rev 2825 | Rev 2834 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2825 Rev 2826
Line 79... Line 79...
79
    ipl = interrupts_disable();
79
    ipl = interrupts_disable();
80
    spinlock_lock(&TASK->lock);
80
    spinlock_lock(&TASK->lock);
81
 
81
 
82
    if (TASK->dt_state == UDEBUG_TS_ACTIVE) {
82
    if (TASK->dt_state == UDEBUG_TS_ACTIVE) {
83
        klog_printf("udebug_syscall_event");
83
        klog_printf("udebug_syscall_event");
84
        call = TASK->debug_go_call;
84
        call = THREAD->debug_go_call;
85
        IPC_SET_RETVAL(call->data, 0);
85
        IPC_SET_RETVAL(call->data, 0);
86
        IPC_SET_ARG1(call->data, UDEBUG_EVENT_SYSCALL);
86
        IPC_SET_ARG1(call->data, UDEBUG_EVENT_SYSCALL);
87
        IPC_SET_ARG2(call->data, id);
87
        IPC_SET_ARG2(call->data, id);
88
        IPC_SET_ARG3(call->data, rc);
88
        IPC_SET_ARG3(call->data, rc);
89
        klog_printf("udebug_syscall_event/ipc_answer");
89
        klog_printf("udebug_syscall_event/ipc_answer");
Line 100... Line 100...
100
         * in case we get woken up by DEBUG_END. (At which
100
         * in case we get woken up by DEBUG_END. (At which
101
         * point it must be back to the initial true value).
101
         * point it must be back to the initial true value).
102
         */
102
         */
103
        THREAD->debug_stop = true;
103
        THREAD->debug_stop = true;
104
 
104
 
105
        ipc_answer(&TASK->answerbox, TASK->debug_go_call);
105
        ipc_answer(&TASK->answerbox, THREAD->debug_go_call);
106
        spinlock_unlock(&TASK->lock);
106
        spinlock_unlock(&TASK->lock);
107
        interrupts_restore(ipl);
107
        interrupts_restore(ipl);
108
 
108
 
109
        waitq_sleep(&THREAD->go_wq);
109
        waitq_sleep(&THREAD->go_wq);
110
    } else {
110
    } else {