Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/thread.c

    r6aeca0d re7267a2  
    4646#include "private/thread.h"
    4747
    48 #ifdef FUTEX_UPGRADABLE
    49 #include <rcu.h>
    50 #endif
    51 
    52 
    5348/** Main thread function.
    5449 *
     
    6863        __tcb_set(fibril->tcb);
    6964       
    70 #ifdef FUTEX_UPGRADABLE
    71         rcu_register_fibril();
    72         futex_upgrade_all_and_wait();
    73 #endif
    74        
    7565        uarg->uspace_thread_function(uarg->uspace_thread_arg);
    7666        /*
     
    8373        /* If there is a manager, destroy it */
    8474        async_destroy_manager();
    85 
    86 #ifdef FUTEX_UPGRADABLE
    87         rcu_deregister_fibril();
    88 #endif
    89        
    90         fibril_teardown(fibril, false);
     75        fibril_teardown(fibril);
    9176       
    9277        thread_exit(0);
     
    116101        void *stack = as_area_create(AS_AREA_ANY, stack_size,
    117102            AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE | AS_AREA_GUARD |
    118             AS_AREA_LATE_RESERVE, AS_AREA_UNPAGED);
     103            AS_AREA_LATE_RESERVE);
    119104        if (stack == AS_MAP_FAILED) {
    120105                free(uarg);
    121106                return ENOMEM;
    122107        }
    123        
    124         /* Make heap thread safe. */
    125         malloc_enable_multithreaded();
    126108       
    127109        uarg->uspace_entry = (void *) FADDR(__thread_entry);
Note: See TracChangeset for help on using the changeset viewer.