forked from Imagelibrary/rtems
Make Post an atomic operation.
This commit is contained in:
@@ -48,7 +48,11 @@ RTEMS_INLINE_ROUTINE void _Event_sets_Post(
|
||||
rtems_event_set *the_event_set
|
||||
)
|
||||
{
|
||||
*the_event_set |= the_new_events;
|
||||
ISR_Level level;
|
||||
|
||||
_ISR_Disable( level );
|
||||
*the_event_set |= the_new_events;
|
||||
_ISR_Enable( level );
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
|
||||
@@ -48,7 +48,11 @@ RTEMS_INLINE_ROUTINE void _Event_sets_Post(
|
||||
rtems_event_set *the_event_set
|
||||
)
|
||||
{
|
||||
*the_event_set |= the_new_events;
|
||||
ISR_Level level;
|
||||
|
||||
_ISR_Disable( level );
|
||||
*the_event_set |= the_new_events;
|
||||
_ISR_Enable( level );
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
|
||||
@@ -31,7 +31,13 @@
|
||||
*/
|
||||
|
||||
#define _Event_sets_Post( _the_new_events, _the_event_set ) \
|
||||
*(_the_event_set) |= (_the_new_events)
|
||||
do { \
|
||||
ISR_Level level; \
|
||||
\
|
||||
_ISR_Disable( level ); \
|
||||
*(_the_event_set) |= (_the_new_events); \
|
||||
_ISR_Enable( level ); \
|
||||
} while (0);
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
|
||||
@@ -31,7 +31,13 @@
|
||||
*/
|
||||
|
||||
#define _Event_sets_Post( _the_new_events, _the_event_set ) \
|
||||
*(_the_event_set) |= (_the_new_events)
|
||||
do { \
|
||||
ISR_Level level; \
|
||||
\
|
||||
_ISR_Disable( level ); \
|
||||
*(_the_event_set) |= (_the_new_events); \
|
||||
_ISR_Enable( level ); \
|
||||
} while (0);
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
|
||||
@@ -48,7 +48,11 @@ RTEMS_INLINE_ROUTINE void _Event_sets_Post(
|
||||
rtems_event_set *the_event_set
|
||||
)
|
||||
{
|
||||
*the_event_set |= the_new_events;
|
||||
ISR_Level level;
|
||||
|
||||
_ISR_Disable( level );
|
||||
*the_event_set |= the_new_events;
|
||||
_ISR_Enable( level );
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
|
||||
@@ -31,7 +31,13 @@
|
||||
*/
|
||||
|
||||
#define _Event_sets_Post( _the_new_events, _the_event_set ) \
|
||||
*(_the_event_set) |= (_the_new_events)
|
||||
do { \
|
||||
ISR_Level level; \
|
||||
\
|
||||
_ISR_Disable( level ); \
|
||||
*(_the_event_set) |= (_the_new_events); \
|
||||
_ISR_Enable( level ); \
|
||||
} while (0);
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user