Ignore:
File:
1 edited

Legend:

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

    rc81b6f2 r9414abc  
    139139static void _fibril_mutex_unlock_unsafe(fibril_mutex_t *fm)
    140140{
     141        assert(fm->counter <= 0);
    141142        if (fm->counter++ < 0) {
    142143                link_t *tmp;
     
    164165void fibril_mutex_unlock(fibril_mutex_t *fm)
    165166{
    166         assert(fibril_mutex_is_locked(fm));
    167167        futex_down(&async_futex);
    168168        _fibril_mutex_unlock_unsafe(fm);
    169169        futex_up(&async_futex);
    170 }
    171 
    172 bool fibril_mutex_is_locked(fibril_mutex_t *fm)
    173 {
    174         bool locked = false;
    175        
    176         futex_down(&async_futex);
    177         if (fm->counter <= 0)
    178                 locked = true;
    179         futex_up(&async_futex);
    180        
    181         return locked;
    182170}
    183171
     
    242230{
    243231        futex_down(&async_futex);
     232        assert(frw->readers || (frw->writers == 1));
    244233        if (frw->readers) {
    245234                if (--frw->readers) {
     
    307296void fibril_rwlock_read_unlock(fibril_rwlock_t *frw)
    308297{
    309         assert(fibril_rwlock_is_read_locked(frw));
    310298        _fibril_rwlock_common_unlock(frw);
    311299}
     
    313301void fibril_rwlock_write_unlock(fibril_rwlock_t *frw)
    314302{
    315         assert(fibril_rwlock_is_write_locked(frw));
    316303        _fibril_rwlock_common_unlock(frw);
    317 }
    318 
    319 bool fibril_rwlock_is_read_locked(fibril_rwlock_t *frw)
    320 {
    321         bool locked = false;
    322 
    323         futex_down(&async_futex);
    324         if (frw->readers)
    325                 locked = true;
    326         futex_up(&async_futex);
    327 
    328         return locked;
    329 }
    330 
    331 bool fibril_rwlock_is_write_locked(fibril_rwlock_t *frw)
    332 {
    333         bool locked = false;
    334 
    335         futex_down(&async_futex);
    336         if (frw->writers) {
    337                 assert(frw->writers == 1);
    338                 locked = true;
    339         }
    340         futex_up(&async_futex);
    341 
    342         return locked;
    343 }
    344 
    345 bool fibril_rwlock_is_locked(fibril_rwlock_t *frw)
    346 {
    347         return fibril_rwlock_is_read_locked(frw) ||
    348             fibril_rwlock_is_write_locked(frw);
    349304}
    350305
     
    359314{
    360315        awaiter_t wdata;
    361 
    362         assert(fibril_mutex_is_locked(fm));
    363316
    364317        if (timeout < 0)
Note: See TracChangeset for help on using the changeset viewer.