zhushengle
|
20782299ce
|
feat: 支持pid容器
BREAKING CHANGE:
支持pid容器对外变更描述:
1.支持pid容器,使用clone(CLONE_NEWPID)创建
2.shell命令 task -a 不再显示线程信息,只显示系统所有进程信息
3.task命令新增参数-p, task -p pid 可查看改进程下的所有线程信息
4.使用LOS_TaskCreateOnly创建任务时, TSK_INIT_PARAM_S中的processID由原来的记录进程ID修改为记录进程控制块PCB
Close #I68LVW
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I0895da9099cb285b3195af5e383d0fdeaf5c0087
Change-Id: I46a7642eeee73a4531c241e3ba6290dd302600a7
|
2023-01-11 11:13:34 +08:00 |
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 |
zhushengle
|
cf89f016e9
|
fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放.
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
那么它持有的内核资源就无法被释放了。
方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
处理信号,等系统调用结束或缺页异常结束时再去处理信号。
解决的问题:
1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程
Close #I3S0N0
Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
|
2021-05-24 14:29:37 +08:00 |
zhushengle
|
6d63f75e7f
|
fix:Solve the coupling between the kernel and the structure under ARCH.
Close #I3OAFR
Change-Id: Icea238e20adf402d0ec1fc7e47ff4e58124a5e83
|
2021-04-26 19:54:49 +08:00 |
Caoruihong
|
7e73c929a2
|
remove __cplusplus guards in .c files
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
|
2021-04-19 18:28:25 +08:00 |
mamingshuai
|
73a7b66116
|
update openharmony 1.0.1
|
2021-03-11 18:43:57 +08:00 |
Caoruihong
|
63bd69267a
|
drop unnecessary executable file permission mode
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
|
2020-10-13 16:37:25 +08:00 |
wenjun
|
6df931fc98
|
add OpenHarmony 1.0 baseline
|
2020-09-08 17:22:24 +08:00 |