Rev 2840 | Rev 2913 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2840 | Rev 2870 | ||
---|---|---|---|
Line 633... | Line 633... | ||
633 | udebug_call_receive(call); |
633 | udebug_call_receive(call); |
634 | } |
634 | } |
635 | 635 | ||
636 | if (method == IPC_M_PHONE_HUNGUP) { |
636 | if (method == IPC_M_PHONE_HUNGUP) { |
637 | klog_printf("kbox: handle hangup message\n"); |
637 | klog_printf("kbox: handle hangup message\n"); |
- | 638 | ||
- | 639 | /* Was it our debugger, who hung up? */ |
|
- | 640 | if (call->sender == TASK->debugger) { |
|
- | 641 | /* Terminate debugging session (if any) */ |
|
- | 642 | klog_printf("kbox: terminate debug session\n"); |
|
- | 643 | ipl = interrupts_disable(); |
|
- | 644 | spinlock_lock(&TASK->lock); |
|
- | 645 | udebug_task_cleanup(TASK); |
|
- | 646 | spinlock_unlock(&TASK->lock); |
|
- | 647 | interrupts_restore(ipl); |
|
- | 648 | } else { |
|
- | 649 | klog_printf("kbox: was not debugger\n"); |
|
- | 650 | } |
|
- | 651 | ||
- | 652 | klog_printf("kbox: continue with hangup message\n"); |
|
638 | IPC_SET_RETVAL(call->data, 0); |
653 | IPC_SET_RETVAL(call->data, 0); |
639 | ipc_answer(&TASK->kernel_box, call); |
654 | ipc_answer(&TASK->kernel_box, call); |
640 | 655 | ||
641 | ipl = interrupts_disable(); |
656 | ipl = interrupts_disable(); |
642 | spinlock_lock(&TASK->lock); |
657 | spinlock_lock(&TASK->lock); |