This patch set fixes a potential issue with a recursion in the ASR handling. The main issue is that _Signal_Action_handler() used rtems_task_mode() to save, set, and restore the task mode during ASR processing. This is effectively a recursive call to thread dispatching which may result in the next level of ASR processing.
v2: Address review comments. Sebastian Huber (4): rtems: Remove _Modes_Set_interrupt_level() rtems: New errors for rtems_signal_catch() rtems: Add _Modes_Apply_timeslice_to_thread() rtems: Avoid potential recursion in ASR handling cpukit/include/rtems/rtems/modesimpl.h | 67 ++++++++++++++++-- cpukit/rtems/src/signalcatch.c | 15 ++++ cpukit/rtems/src/signalsend.c | 98 ++++++++++++++++++++++++-- cpukit/rtems/src/taskmode.c | 25 ++----- 4 files changed, 174 insertions(+), 31 deletions(-) -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel