Subversion Repositories HelenOS

Rev

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