Ignore:
File:
1 edited

Legend:

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

    r3679f51a r76d0981d  
    4646#include <as.h>
    4747#include "private/thread.h"
    48 #include "private/fibril.h"
     48
     49#ifdef FUTEX_UPGRADABLE
     50#include <rcu.h>
     51#endif
     52
    4953
    5054/** Main thread function.
     
    6468
    6569        __tcb_set(fibril->tcb);
     70
     71#ifdef FUTEX_UPGRADABLE
     72        rcu_register_fibril();
     73        futex_upgrade_all_and_wait();
     74#endif
    6675
    6776        uarg->uspace_thread_function(uarg->uspace_thread_arg);
     
    7584        /* If there is a manager, destroy it */
    7685        async_destroy_manager();
     86
     87#ifdef FUTEX_UPGRADABLE
     88        rcu_deregister_fibril();
     89#endif
    7790
    7891        fibril_teardown(fibril, false);
Note: See TracChangeset for help on using the changeset viewer.