Changeset 32d2e60 in mainline for uspace/lib/c
- Timestamp:
- 2012-12-04T15:54:40Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b7acf38
- Parents:
- d54b303
- Location:
- uspace/lib/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/futex.c
rd54b303 r32d2e60 36 36 #include <atomic.h> 37 37 38 38 39 /** Initialize futex counter. 39 40 * … … 50 51 #ifdef FUTEX_UPGRADABLE 51 52 52 int _upgrade_futex = 0;53 int _upgrade_futexes = 0; 53 54 static futex_t upg_and_wait_futex = FUTEX_INITIALIZER; 54 55 … … 57 58 _futex_down(&upg_and_wait_futex); 58 59 59 if (!_upgrade_futex ) {60 rcu_assign(_upgrade_futex , 1);61 rcu_synchronize();60 if (!_upgrade_futexes) { 61 rcu_assign(_upgrade_futexes, 1); 62 _rcu_synchronize(BM_BLOCK_THREAD); 62 63 } 63 64 -
uspace/lib/c/include/futex.h
rd54b303 r32d2e60 53 53 #include <rcu.h> 54 54 55 #define FUTEX_INITIALIZE(val) {{ (val)}, {0}}55 #define FUTEX_INITIALIZE(val) {{ (val) }, 0} 56 56 57 57 #define futex_down(fut) \ … … 94 94 #else 95 95 96 #define FUTEX_INITIALIZE(val) {{ (val)}}96 #define FUTEX_INITIALIZE(val) {{ (val) }} 97 97 98 98 #define futex_down(fut) (void)_futex_down((fut))
Note:
See TracChangeset
for help on using the changeset viewer.