diff options
Diffstat (limited to 'cpukit/rtems/src/eventseize.c')
-rw-r--r-- | cpukit/rtems/src/eventseize.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpukit/rtems/src/eventseize.c b/cpukit/rtems/src/eventseize.c index a9290b38e8..9c41b777f9 100644 --- a/cpukit/rtems/src/eventseize.c +++ b/cpukit/rtems/src/eventseize.c @@ -100,6 +100,12 @@ void _Event_Seize( _Thread_Set_state( executing, block_state ); + /* + * See _Event_Surrender() and _Thread_Timeout(), corresponding atomic + * variable is Thread_Control::Wait::flags. + */ + _Atomic_Fence( ATOMIC_ORDER_ACQUIRE ); + success = _Thread_Wait_flags_try_change( executing, intend_to_block, |