diff options
Diffstat (limited to 'cpukit/rtems/src/eventreceive.c')
-rw-r--r-- | cpukit/rtems/src/eventreceive.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpukit/rtems/src/eventreceive.c b/cpukit/rtems/src/eventreceive.c index 49fdb2a9c0..0ff350f22e 100644 --- a/cpukit/rtems/src/eventreceive.c +++ b/cpukit/rtems/src/eventreceive.c @@ -22,6 +22,7 @@ #include <rtems/rtems/tasks.h> #include <rtems/score/statesimpl.h> #include <rtems/score/threaddispatch.h> +#include <rtems/score/threadimpl.h> rtems_status_code rtems_event_receive( rtems_event_set event_in, @@ -39,6 +40,12 @@ rtems_status_code rtems_event_receive( if ( !_Event_sets_Is_empty( event_in ) ) { _Thread_Disable_dispatch(); +#if defined(RTEMS_SMP) + if ( _Thread_Is_life_terminating( executing->Life.state ) ) { + _Thread_Enable_dispatch(); + _Assert_Not_reached(); + } +#endif _Event_Seize( event_in, option_set, |