Ignore:
File:
1 edited

Legend:

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

    r6aeca0d r2654afb  
    4949#include <assert.h>
    5050#include <async.h>
     51#include <futex.h>
    5152
    5253#ifdef FUTEX_UPGRADABLE
     
    114115        fibril->waits_for = NULL;
    115116
    116         fibril->switches = 0;
    117 
    118         /*
    119          * We are called before __tcb_set(), so we need to use
    120          * futex_down/up() instead of futex_lock/unlock() that
    121          * may attempt to access TLS.
    122          */
    123         futex_down(&fibril_futex);
     117        futex_lock(&fibril_futex);
    124118        list_append(&fibril->all_link, &fibril_list);
    125         futex_up(&fibril_futex);
     119        futex_unlock(&fibril_futex);
    126120       
    127121        return fibril;
     
    218212                        assert(stype == FIBRIL_TO_MANAGER);
    219213
    220                         srcf->switches++;
    221 
    222214                        /*
    223215                         * Don't put the current fibril into any list, it should
     
    279271        size_t stack_size = (stksz == FIBRIL_DFLT_STK_SIZE) ?
    280272            stack_size_get() : stksz;
    281         fibril->stack = as_area_create(AS_AREA_ANY, stack_size,
     273        fibril->stack = as_area_create((void *) -1, stack_size,
    282274            AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE | AS_AREA_GUARD |
    283             AS_AREA_LATE_RESERVE, AS_AREA_UNPAGED);
     275            AS_AREA_LATE_RESERVE);
    284276        if (fibril->stack == (void *) -1) {
    285277                fibril_teardown(fibril, false);
Note: See TracChangeset for help on using the changeset viewer.