Commit Graph

598 Commits

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

Close #I3S0N0

Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
2021-05-24 14:29:37 +08:00
openharmony_ci 3f16f1684a !248 fix: fix length typo
Merge pull request !248 from kenneth/los_queue.h
2021-05-22 09:13:46 +08:00
openharmony_ci bfc788e27b !267 关闭jffs和fat后,rootfs配置也被相应关闭,导致nand介质的rootfs不可用
Merge pull request !267 from zhangfanfan2/master
2021-05-21 23:26:15 +08:00
zhangfanfan2 0ea476b974 fix: 关闭jffs和fat后,rootfs配置也被相应关闭,导致nand介质的rootfs不可用。
close: #I3SBYN
2021-05-21 17:41:30 +08:00
openharmony_ci f5c5a69162 !265 删除exc interaction残留宏以及无用函数声明
Merge pull request !265 from Zhaotianyu/0521
2021-05-21 16:21:16 +08:00
openharmony_ci a3cef3f176 !264 补充TODOList
Merge pull request !264 from Denny/DennyShen-master-patch-73167
2021-05-21 15:17:08 +08:00
arvinzzz d2f2679071 fix: Delete useless 'exc interaction' macros and function declarations.
close: #I3SDKY

Change-Id: I5ed9356ce2b55b6e07c3f192cdbc4a4f6fbfaa58
2021-05-21 15:10:05 +08:00
Denny 2a3e6b6d12 update TODOList.md. 2021-05-21 15:01:20 +08:00
Denny 7388c746a8 update todolist 2021-05-21 15:00:44 +08:00
Denny 5e3b50497a add todolist 2021-05-21 14:21:15 +08:00
SimonLi 471de3663e fix(build): 去除冗余单板相关的宏配置
编译工具链的选项不应该依赖单板的宏,否则每增加一块单板都需要去新增配置。

NULL_ADDRESS_PROTECT这个宏配置没有地方使用,去掉冗余宏,内存是一一映射,可以
访问0地址,且不会立马报错,需要这个功能,现在不是一一映射,而且访问空指针会
立马报错,所以不存在这个问题。
2021-05-21 12:30:51 +08:00
SimonLi 73223ae7e6 fix(build): clang10.0.1支持lto,去掉冗余判断 2021-05-21 11:21:19 +08:00
jmxl d25560f8ac fix: fix stored typo 2021-05-21 10:16:04 +08:00
openharmony_ci 9b364500ad !252 删除冗余宏定义OFFSET_OF_FIELD
Merge pull request !252 from JerryH/list
2021-05-21 09:54:18 +08:00
openharmony_ci 04ecd87a23 !229 内核启动重构,新增启动框架
Merge pull request !229 from Zhaotianyu/0510init_framework
2021-05-20 19:33:23 +08:00
openharmony_ci 419f467df1 !259 删除问题冒烟用例
Merge pull request !259 from give-me-five/master
2021-05-20 19:14:23 +08:00
openharmony_ci 61f2c55476 !259 删除问题冒烟用例
Merge pull request !259 from give-me-five/master
2021-05-20 19:14:22 +08:00
give-me-five 21fca7c546 update testsuites/unittest/process/mutex/process_mutex_test.cpp. 2021-05-20 18:54:14 +08:00
arvinzzz 8cde768588 refactor: Refactored the kernel boot process and added a init framework
close: #I3I768

Change-Id: I4f801df4abe1a9afdf43391c28276e96a5e81513
2021-05-20 16:45:43 +08:00
openharmony_ci 8a48f4926a !249 kernel/extended/trace/los_trace.c中可能存在空指针访问
Merge pull request !249 from boxi/upload
2021-05-19 14:46:18 +08:00
kenneth 2b643b04c1 fix:fix queuePosition typo 2021-05-19 14:05:28 +08:00
openharmony_ci 6f99abfc7b !222 fix: correct spelling
Merge pull request !222 from rtos-lover/los_task
2021-05-19 13:46:10 +08:00
YOUR_NAME 9b4129c949 Remove redundant macro definition(OFFSET_OF_FIELD)
Close #I3QMN1

Change-Id: I0ddd0c4474f5f6b5a2b1dd6608d642167b5548e6
2021-05-19 11:20:09 +08:00
openharmony_ci a5de5e0cff !251 fix: clang10 lld could not recognized Oz
Merge pull request !251 from MGY917/master
2021-05-19 11:14:19 +08:00
openharmony_ci e1d427f8c8 !245 删除无效代码
Merge pull request !245 from Zhaotianyu/0517
2021-05-19 10:33:49 +08:00
openharmony_ci 001fdd9511 !250 signal门禁用例调整
Merge pull request !250 from vcbchang/master
2021-05-19 09:47:07 +08:00
Guangyao Ma 87a0006d5e fix: clang10 lld could not recognized Oz
Change-Id: I73055c0d9b9ceb27adb687089be4d332ec323b9c
2021-05-19 09:37:38 +08:00
kenneth a68295d2a9 fix:change queuePosion to queuePosition 2021-05-19 08:38:33 +08:00
x_xiny 8c8a0b398d fixed the textsuite
Change-Id: Idb93d3cf8d236a3b7f13d95d08255208c04706dd
2021-05-18 22:30:32 +08:00
boxi 4d863e985b fix: Fix wrong judgment in los_trace.c to avoid null pointer access.
Fix wrong judgment in los_trace.c to avoid null pointer access.

Close #I3RT9F

Change-Id: Id37b80fc6acc085205695318232d5f4fd75472aa
2021-05-18 17:21:47 +08:00
openharmony_ci d632356413 !206 fix time mould-kernel:fix 2 api clock_gettime、clock_getres
Merge pull request !206 from guweijie/master
2021-05-18 15:15:58 +08:00
kenneth 12d98b144b fix: fix length typo
fix typos length、there、necessary

close https://gitee.com/openharmony/kernel_liteos_a/issues/I3RSY0
2021-05-18 14:33:59 +08:00
guweijie 2534c86d6f Merge branch 'master' of gitee.com:openharmony/kernel_liteos_a into master 2021-05-18 09:56:42 +08:00
teamol e8427a45c5 fix time mould-kernel:fix 2 api clock_gettime、clock_getres
Change-Id: I260e47c895ced01e033ef8a824744e574887c9f5
2021-05-18 09:51:11 +08:00
openharmony_ci e7c0c5173a !246 fix: fix function name OsSchedSetIdleTaskSchedParam
Merge pull request !246 from kenneth/master
2021-05-18 09:30:24 +08:00
kenneth 8f8c038b21 fix: fix function name OsSchedSetIdleTaskSchedParam
correct function name OsSchedSetIdleTaskSchedParam

close https://gitee.com/openharmony/kernel_liteos_a/issues/I3RQ6J
2021-05-18 09:02:48 +08:00
openharmony_ci 471e47c1c2 !244 用例框架完善
Merge pull request !244 from lnlan/test_fixed
2021-05-17 20:07:49 +08:00
arvinzzz fe05df40ae fix: Remove redundant invalid codes
close: #I3R70T
Change-Id: Idec4ba2f692cf357368c2fa437dddeba945f2e07
2021-05-17 14:34:09 +08:00
lnlan fbe98af997 fixed that LOSCFG_USER_TEST_SMP is unuseful
Change-Id: Ib6bd11fbeaac88e69de663a7a3f2d01ac1fe9042
2021-05-15 17:16:29 +08:00
openharmony_ci 854a0c53c3 !235 删除menuconfig中无用的模块配置
Merge pull request !235 from lnlan/ktest_fixed
2021-05-15 10:13:54 +08:00
openharmony_ci 29fc5b3e3d !236 fix: modify event API description
Merge pull request !236 from MGY917/event
2021-05-15 10:05:46 +08:00
openharmony_ci 8b7d1a70a4 !238 优化mksh编译问题
Merge pull request !238 from SimonLi/fix-mksh-build
2021-05-15 10:04:37 +08:00
openharmony_ci 616ca955d5 !220 statfs不能正常显示FAT12和FAT16分区的空闲块和有效块
Merge pull request !220 from Far/fatfs
2021-05-15 10:01:28 +08:00
openharmony_ci fa273ca817 !242 解决内存泄漏检测错误判断及删除冗余判断
Merge pull request !242 from JerryH/mem
2021-05-14 16:07:28 +08:00
openharmony_ci 935aada8bb !241 修复内核缺页异常处理导致系统异常
Merge pull request !241 from zhushengle/exc
2021-05-14 16:01:14 +08:00
马明帅 e70c0b7f0f !240 适配LLVM工具链10.0.1版本升级
Merge pull request !240 from pengzhuoli/master
2021-05-14 14:44:27 +08:00
YOUR_NAME 8da10b9439 Fix memory leak check and interity error check.
Delete redundant judgments.

Close #I3P10Y and #I3QNLT

Change-Id: Ibaf5d4da46f12c291619bb88a41ac18af4612ca1
2021-05-14 14:42:41 +08:00
zhushengle a89fb57f57 fix: Fix kernel page fault exception handling causing system exception.
Close #I3RAN4

Change-Id: Ice9bc67371ad85476ec99b46b7555d41abd93e94
2021-05-14 13:12:57 +08:00
openharmony_ci 8d419bb029 !239 quickstart节点实现优化
Merge pull request !239 from boxi/master
2021-05-14 11:50:38 +08:00
zhuoli 967607e1c8 Update search path in llvm 2021-05-14 10:42:32 +08:00