Changeset 22f7769 in mainline for src/synch/rwlock.c


Ignore:
Timestamp:
2005-10-17T23:31:41Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4b2c872d
Parents:
75eacab
Message:

Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/synch/rwlock.c

    r75eacab r22f7769  
    9797int _rwlock_write_lock_timeout(rwlock_t *rwl, __u32 usec, int trylock)
    9898{
    99         pri_t pri;
     99        ipl_t ipl;
    100100        int rc;
    101101       
    102         pri = cpu_priority_high();
     102        ipl = interrupts_disable();
    103103        spinlock_lock(&THREAD->lock);
    104104        THREAD->rwlock_holder_type = RWLOCK_WRITER;
    105105        spinlock_unlock(&THREAD->lock);
    106         cpu_priority_restore(pri);
     106        interrupts_restore(ipl);
    107107
    108108        /*
     
    119119                 */
    120120                 
    121                 pri = cpu_priority_high();
     121                ipl = interrupts_disable();
    122122                spinlock_lock(&rwl->lock);
    123123                /*
     
    129129                        let_others_in(rwl, ALLOW_READERS_ONLY);
    130130                spinlock_unlock(&rwl->lock);
    131                 cpu_priority_restore(pri);
     131                interrupts_restore(ipl);
    132132        }
    133133       
     
    152152{
    153153        int rc;
    154         pri_t pri;
    155        
    156         pri = cpu_priority_high();
     154        ipl_t ipl;
     155       
     156        ipl = interrupts_disable();
    157157        spinlock_lock(&THREAD->lock);
    158158        THREAD->rwlock_holder_type = RWLOCK_READER;
     
    205205                                /*
    206206                                 * The sleep timeouted.
    207                                  * We just restore the cpu priority.
     207                                 * We just restore interrupt priority level.
    208208                                 */
    209209                        case ESYNCH_OK_BLOCKED:         
     
    216216                                 * rwl->lock is held.)
    217217                                 */
    218                                 cpu_priority_restore(pri);
     218                                interrupts_restore(ipl);
    219219                                break;
    220220                        case ESYNCH_OK_ATOMIC:
     
    237237       
    238238        spinlock_unlock(&rwl->lock);
    239         cpu_priority_restore(pri);
     239        interrupts_restore(ipl);
    240240
    241241        return ESYNCH_OK_ATOMIC;
     
    252252void rwlock_write_unlock(rwlock_t *rwl)
    253253{
    254         pri_t pri;
    255        
    256         pri = cpu_priority_high();
     254        ipl_t ipl;
     255       
     256        ipl = interrupts_disable();
    257257        spinlock_lock(&rwl->lock);
    258258        let_others_in(rwl, ALLOW_ALL);
    259259        spinlock_unlock(&rwl->lock);
    260         cpu_priority_restore(pri);
     260        interrupts_restore(ipl);
    261261       
    262262}
     
    273273void rwlock_read_unlock(rwlock_t *rwl)
    274274{
    275         pri_t pri;
    276 
    277         pri = cpu_priority_high();
     275        ipl_t ipl;
     276
     277        ipl = interrupts_disable();
    278278        spinlock_lock(&rwl->lock);
    279279        if (!--rwl->readers_in)
    280280                let_others_in(rwl, ALLOW_ALL);
    281281        spinlock_unlock(&rwl->lock);
    282         cpu_priority_restore(pri);
     282        interrupts_restore(ipl);
    283283}
    284284
     
    290290 *
    291291 * Must be called with rwl->lock locked.
    292  * Must be called with cpu_priority_high'ed.
     292 * Must be called with interrupts_disable()'d.
    293293 *
    294294 * @param rwl Reader/Writer lock.
Note: See TracChangeset for help on using the changeset viewer.