diff options
Diffstat (limited to 'cpukit/rtems/src/systemeventreceive.c')
-rw-r--r-- | cpukit/rtems/src/systemeventreceive.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpukit/rtems/src/systemeventreceive.c b/cpukit/rtems/src/systemeventreceive.c index c24e19a8ef..c38962d21d 100644 --- a/cpukit/rtems/src/systemeventreceive.c +++ b/cpukit/rtems/src/systemeventreceive.c @@ -28,6 +28,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_system_receive( rtems_event_set event_in, @@ -45,6 +46,12 @@ rtems_status_code rtems_event_system_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, |