zhushengle
cf89f016e9
fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放.
...
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
那么它持有的内核资源就无法被释放了。
方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
处理信号,等系统调用结束或缺页异常结束时再去处理信号。
解决的问题:
1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程
Close #I3S0N0
Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
2021-05-24 14:29:37 +08:00
rtos-lover
c66fe0313f
fix: correct spelling
...
correct some typos in los_task.c and other files
close https://gitee.com/openharmony/kernel_liteos_a/issues/I3QDB8
2021-05-08 11:23:08 +08:00
Caoruihong
7e73c929a2
remove __cplusplus guards in .c files
...
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
2021-04-19 18:28:25 +08:00
YOUR_NAME
c959d43684
IssueNo:#I3E0F2
...
Description:Delete VM to support only kernel mode.
Sig:liteos_a
Feature or Bugfix:Feature
Binary Source:No
Change-Id: Ie1029c8fbc0c1b85c138663933118d2d148b7769
2021-03-31 16:14:54 +08:00
mamingshuai
73a7b66116
update openharmony 1.0.1
2021-03-11 18:43:57 +08:00
zhushengle
4ff3c4bf79
Description:Process security function rectification.
...
Reviewed-by:liulei, lihao, likailong
Change-Id: Ibacdda2ccbbc991ac9732f2ad09bdb98195203b3
2020-11-05 09:10:14 +08:00
Caoruihong
63bd69267a
drop unnecessary executable file permission mode
...
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
2020-10-13 16:37:25 +08:00
zhushengle
12b81567df
修改PCB中错误的注释,并统一注释格式
2020-09-28 21:47:42 +08:00
wenjun
6df931fc98
add OpenHarmony 1.0 baseline
2020-09-08 17:22:24 +08:00