Changeset d54b303 in mainline for uspace/lib/c/generic/fibril.c


Ignore:
Timestamp:
2012-12-04T05:18:19Z (12 years ago)
Author:
Adam Hraska <adam.hraska+hos@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
32d2e60
Parents:
9a3b469
Message:

Initial version of nop futexes that are upgradable to proper futexes.

File:
1 edited

Legend:

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

    r9a3b469 rd54b303  
    5151#include <futex.h>
    5252
     53#ifdef FUTEX_UPGRADABLE
     54#include <rcu.h>
     55#endif
     56
    5357/**
    5458 * This futex serializes access to ready_list,
     
    8387{
    8488        fibril_t *fibril = __tcb_get()->fibril_data;
     89
     90#ifdef FUTEX_UPGRADABLE
     91        rcu_register_fibril();
     92#endif
    8593       
    8694        /* Call the implementing function. */
     
    245253       
    246254        futex_up(&fibril_futex);
     255       
     256#ifdef FUTEX_UPGRADABLE
     257        if (stype == FIBRIL_FROM_DEAD) {
     258                rcu_deregister_fibril();
     259        }
     260#endif
     261       
    247262        context_restore(&dstf->ctx);
    248263        /* not reached */
Note: See TracChangeset for help on using the changeset viewer.