openharmony_kernel_liteos_a/kernel/base/include
zhushengle cf89f016e9 fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放.
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
      如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
      号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
      果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
      了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
      那么它持有的内核资源就无法被释放了。
方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
      处理信号,等系统调用结束或缺页异常结束时再去处理信号。
解决的问题:
  1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
  2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
  3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程

Close #I3S0N0

Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
2021-05-24 14:29:37 +08:00
..
los_base_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_binarytree_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_err_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_event_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_futex_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_ipcdebug_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_membox_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_memory_pri.h refactor: Refactored the kernel boot process and added a init framework 2021-05-20 16:45:43 +08:00
los_memstat_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_mux_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_oom.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_percpu_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_pmm.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_printf_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_process_pri.h fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放. 2021-05-24 14:29:37 +08:00
los_queue_debug_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_queue_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_rwlock_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_sched_pri.h fix: fix function name OsSchedSetIdleTaskSchedParam 2021-05-18 09:02:48 +08:00
los_sem_debug_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_sem_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_signal.h fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放. 2021-05-24 14:29:37 +08:00
los_sortlink_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_stackinfo_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_stat_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_swtmr_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_sys_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_task_pri.h fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放. 2021-05-24 14:29:37 +08:00
los_tick_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_typedef_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_boot.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_vm_common.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_vm_dump.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_fault.h fix:Fixed exception not saving stack pointer of SVC mode and abnormal signal processing issues 2021-05-11 09:58:54 +08:00
los_vm_filemap.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_vm_iomap.h !157 删除无用的__cplusplus,移除不必要的文件x权限 2021-04-20 09:01:45 +08:00
los_vm_lock.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_map.h remove redundant field regions in VmSpace structure 2021-04-26 14:39:45 +08:00
los_vm_page.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_phys.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_vm_shm_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_syscall.h refactor: Refactored the kernel boot process and added a init framework 2021-05-20 16:45:43 +08:00
los_vm_zone.h IssueNo:#I3E0F2 2021-03-31 16:14:54 +08:00