diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-05 11:48:28 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-07 17:06:38 +0200 |
commit | 54e9216a0e646113a7e2f23a436731c0cf0fba62 (patch) | |
tree | cc3c89a7516ecdd19513aedb1766ac80a2440bcb /cpukit/score/inline/rtems/score/object.inl | |
parent | score: Align _Objects_Get_isr_disable() (diff) | |
download | rtems-54e9216a0e646113a7e2f23a436731c0cf0fba62.tar.bz2 |
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.
Diffstat (limited to 'cpukit/score/inline/rtems/score/object.inl')
-rw-r--r-- | cpukit/score/inline/rtems/score/object.inl | 14 |
1 files changed, 14 insertions, 0 deletions
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 */ |