From 9555341f0fc309243e1d92f95e4278a7b820f485 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 6 Apr 2016 16:26:22 +0200 Subject: posix: Use a dedicated lock for scheduler changes Update #2555. --- cpukit/posix/include/rtems/posix/pthreadimpl.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'cpukit/posix/include/rtems/posix/pthreadimpl.h') diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h index 42f10b08bc..ef5821e48f 100644 --- a/cpukit/posix/include/rtems/posix/pthreadimpl.h +++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h @@ -223,6 +223,23 @@ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Join_dequeue( ); } +RTEMS_INLINE_ROUTINE void _POSIX_Threads_Scheduler_acquire( + POSIX_API_Control *api, + ISR_lock_Context *lock_context +) +{ + _ISR_lock_ISR_disable_and_acquire( &api->Scheduler_lock, lock_context ); +} + +RTEMS_INLINE_ROUTINE void _POSIX_Threads_Scheduler_release( + POSIX_API_Control *api, + ISR_lock_Context *lock_context +) +{ + _ISR_lock_Release_and_ISR_enable( &api->Scheduler_lock, lock_context ); +} + + /** @} */ #ifdef __cplusplus -- cgit v1.2.3