kernel_liteos_a/kernel/base
Guangyao Ma 5a80d4e1a3 fix: solve SIGCHLD ignored in sigsuspend()
在如下场景signal可能得不到及时处理:
1、进程A设置信号a阻塞
2、进程A收到信号a
3、进程A调用sigsuspend结束阻塞
原则上,步骤三应该立刻处理之前被阻塞的信号a,调用信号处理函数,并且sigsuspend
返回。现在的问题是,信号a没有得到及时处理,并且进程A阻塞在sigsuspend()调用流程
。
本次修改,在1、2、3场景下,sigsuspend()处理过程中,如果发现已经收到信号,待处理
时,会立刻进行调度切换,再次调度回来时,在调度模块中,会先主动处理已经收到的信
号,最后sigsuspend返回用户态。

close #I47CKK

Signed-off-by: Guangyao Ma <guangyao.ma@outlook.com>
Change-Id: I1b30a938a2d18c3f58989d40eee0503ceffb27b5
2021-08-26 15:36:13 +08:00
..
core fix: 3518平台, 异常测试进程无法正常退出 2021-06-10 20:11:36 +08:00
include !296 支持最小化特性编译,添加了一个针对qemu arm virt的样例config配置 2021-06-07 22:51:46 +08:00
ipc fix: solve SIGCHLD ignored in sigsuspend() 2021-08-26 15:36:13 +08:00
mem Fix memory leak check and interity error check. 2021-05-14 14:42:41 +08:00
misc chore: add a mini config for qemu arm virt 2021-06-05 17:40:22 +08:00
mp refactor: Refactored the kernel boot process and added a init framework 2021-05-20 16:45:43 +08:00
om remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
sched/sched_sq fix: fix function name OsSchedSetIdleTaskSchedParam 2021-05-18 09:02:48 +08:00
vm chore: add a mini config for qemu arm virt 2021-06-05 17:40:22 +08:00
BUILD.gn remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
Makefile remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00