Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 5e984f2 in mainline


Ignore:
Timestamp:
2010-05-09T18:23:03Z (11 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
cd98e594
Parents:
4039c77
Message:

Disable interrupts and lock THREAD before calling thread_update_accounting() from syscall_handler().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/syscall/syscall.c

    r4039c77 r5e984f2  
    6060{
    6161        unative_t rc;
     62        ipl_t ipl;
    6263
    6364        /* Do userpace accounting */
     65        ipl = interrupts_disable();
     66        spinlock_lock(&THREAD->lock);
    6467        thread_update_accounting(true);
     68        spinlock_unlock(&THREAD->lock);
     69        interrupts_restore(ipl);
    6570
    6671#ifdef CONFIG_UDEBUG
     
    100105
    101106        /* Do kernel accounting */
     107        ipl = interrupts_disable();
     108        spinlock_lock(&THREAD->lock);
    102109        thread_update_accounting(false);
     110        spinlock_unlock(&THREAD->lock);
     111        interrupts_restore(ipl);
    103112       
    104113        return rc;
Note: See TracChangeset for help on using the changeset viewer.