diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/psim/shmsupp/lock.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/psim/shmsupp/lock.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/shmsupp/lock.c b/c/src/lib/libbsp/powerpc/psim/shmsupp/lock.c index 204d0188de..12209fb1a2 100644 --- a/c/src/lib/libbsp/powerpc/psim/shmsupp/lock.c +++ b/c/src/lib/libbsp/powerpc/psim/shmsupp/lock.c @@ -41,11 +41,14 @@ void Shm_Initialize_lock( * a deadlock condition. */ +static rtems_interrupt_level level; + void Shm_Lock( Shm_Locked_queue_Control *lq_cb ) { - (void) PSIM.Semaphore.lock; + rtems_interrupt_disable( level ); + (void) PSIM.Semaphore.lock; } /* @@ -58,5 +61,6 @@ void Shm_Unlock( Shm_Locked_queue_Control *lq_cb ) { - (void) PSIM.Semaphore.unlock; + (void) PSIM.Semaphore.unlock; + rtems_interrupt_enable( level ); } |