我不知道你用的是哪个版本,我看的是4.6的,例子sp27好像不是你说的例子。
任务收到信号后立即进行信号处理是正常的啊,因为在rtems_signal_catch()函数的最后会调用
_Thread_Enable_dispatch();而此时处理器可能还是切换到本任务,这时就会检测是否有异步信号了,有则立刻进行处理。
你说的是这个意思吗?
其中:rtems_signal_catch()函数的最后会调用 _Thread_Enable_dispatch();
应改为
“rtems_signal_sent()函数的最后会调用 _Thread_Enable_dispatch();”