【问题原因】
多处理器并行执行,任务A被同步对象阻塞并且已经超时,CPU0正在释放同步对象,
CPU1进入任务调度中断为任务A处理阻塞超时,将导致多个处理器同时执行链表删除动作。
【问题影响】
同步对象阻塞链表损坏或CPU0陷入死循环。
【解决方案】
在任务调度器中检测阻塞对象状态,如果状态为DEATH,则不执行链表删除动作。
【问题原因】
多处理器并行执行,任务A被同步对象阻塞并且已经超时,CPU0正在释放同步对象,
CPU1进入任务调度中断为任务A处理阻塞超时,将导致多个处理器同时执行链表删除动作。
【问题影响】
同步对象阻塞链表损坏或CPU0陷入死循环。
【解决方案】
在任务调度器中检测阻塞对象状态,如果状态为DEATH,则不执行链表删除动作。