From 54e9216a0e646113a7e2f23a436731c0cf0fba62 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 5 Jun 2013 11:48:28 +0200 Subject: score: Add _Objects_Put_for_get_isr_disable() Provide SMP support. The ISR disable/enable is not enough to ensure mutual exclusion for SMP configurations. --- cpukit/score/inline/rtems/score/object.inl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cpukit/score/inline/rtems/score/object.inl') diff --git a/cpukit/score/inline/rtems/score/object.inl b/cpukit/score/inline/rtems/score/object.inl index efdb23d0e3..54365fa8eb 100644 --- a/cpukit/score/inline/rtems/score/object.inl +++ b/cpukit/score/inline/rtems/score/object.inl @@ -375,4 +375,18 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_unlimited( uint32_t maximum ) ((Objects_Maximum) ((maximum) & ~OBJECTS_UNLIMITED_OBJECTS)) #endif + +/** + * @brief Puts back an object obtained with _Objects_Get_isr_disable(). + */ +RTEMS_INLINE_ROUTINE void _Objects_Put_for_get_isr_disable( + Objects_Control *the_object +) +{ + (void) the_object; +#if defined(RTEMS_SMP) + _Thread_Enable_dispatch(); +#endif +} + /* end of include file */ -- cgit v1.2.3