openharmony_kernel_liteos_a/kernel/base/core
lnlan c3facd1b95 fix: 修复sigwait等待到的信号值与获取的siginfo中的值不一致
【背景】
集成测试发送两个不同的信号,sigwait第二次等到的仍是第一个信号
经定位,信号在kill时会将相关的siginfo信息拷贝到taskcb的unbinfo中,sigwait
处理时从unbinfo拷贝给用户。若此信号发送时处于屏蔽状态,再有其他信号发送会覆盖
掉unbinfo,此时sigwait等待这个信号获取到的info已经被覆盖
【修改方案】
1. 每个任务添加一个siginfo缓存链表,在处理信号前夕从缓存链表取出info到unbinfo中

【影响】
对现有的产品编译不会有影响。

re #I3M12H

Signed-off-by: lanleinan <lanleinan@163.com>

Change-Id: If4b064c18773f8eca7419c665977260167b09810
2021-09-10 03:21:58 +00:00
..
los_bitmap.c remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_process.c feat: 支持killpg和waitid 2021-08-12 18:06:55 +08:00
los_smp.c fix: smp启动代码解耦及内存映射关系解耦 2021-08-05 16:03:43 +08:00
los_swtmr.c feat: L0-L1 支持Trace 2021-08-31 20:29:45 +08:00
los_sys.c fix: 修改DoNanoSleep 以纳秒为单位 2021-08-10 11:25:49 +08:00
los_task.c fix: 修复sigwait等待到的信号值与获取的siginfo中的值不一致 2021-09-10 03:21:58 +00:00
los_tick.c refactor: 对LiteOS_a内核中menuconfig开关的宏使用#ifdef/#ifndef做预编译处理 2021-07-01 09:08:18 +08:00