Rev 2902 | Rev 2925 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2902 | Rev 2903 | ||
---|---|---|---|
Line 454... | Line 454... | ||
454 | void thread_exit(void) |
454 | void thread_exit(void) |
455 | { |
455 | { |
456 | ipl_t ipl; |
456 | ipl_t ipl; |
457 | 457 | ||
458 | if (THREAD->flags & THREAD_FLAG_USPACE) { |
458 | if (THREAD->flags & THREAD_FLAG_USPACE) { |
- | 459 | /* Generate udebug THREAD_E event */ |
|
- | 460 | udebug_thread_e_event(); |
|
- | 461 | ||
459 | if (atomic_predec(&TASK->lifecount) == 0) { |
462 | if (atomic_predec(&TASK->lifecount) == 0) { |
460 | /* |
463 | /* |
461 | * We are the last userspace thread in the task that |
464 | * We are the last userspace thread in the task that |
462 | * still has not exited. With the exception of the |
465 | * still has not exited. With the exception of the |
463 | * moment the task was created, new userspace threads |
466 | * moment the task was created, new userspace threads |
Line 754... | Line 757... | ||
754 | } |
757 | } |
755 | } |
758 | } |
756 | thread_attach(t, TASK); |
759 | thread_attach(t, TASK); |
757 | thread_ready(t); |
760 | thread_ready(t); |
758 | 761 | ||
- | 762 | /* Generate udebug THREAD_B event */ |
|
759 | udebug_new_thread_event(t); |
763 | udebug_thread_b_event(t); |
760 | 764 | ||
761 | return 0; |
765 | return 0; |
762 | } else |
766 | } else |
763 | free(kernel_uarg); |
767 | free(kernel_uarg); |
764 | 768 |