aLinChe
ffc628df53
feat setitimer/getitimer and fix signal stack logic ( #1377 )
...
* add sys_get/setitimer and fix sig
Signed-off-by: aLinChe <1129332011@qq.com>
* feat cputime
Signed-off-by: aLinChe <1129332011@qq.com>
* fix sas and fix ABI
Signed-off-by: aLinChe <1129332011@qq.com>
* fix fmt
Signed-off-by: aLinChe <1129332011@qq.com>
* fix diff arch::on_sig_stack compile bug
Signed-off-by: aLinChe <1129332011@qq.com>
* fix better code
Signed-off-by: aLinChe <1129332011@qq.com>
* fix arch
Signed-off-by: aLinChe <1129332011@qq.com>
* fix fmt
Signed-off-by: aLinChe <1129332011@qq.com>
* refactor: 简化定时器类型格式化逻辑
- 移除不必要的字符串转换操作
- 使用Debug trait直接格式化枚举值
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: aLinChe <1129332011@qq.com>
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@DragonOS.org>
2025-11-19 00:33:56 +08:00
LoGin
741d1ad758
feat: 实现waitid系统调用及作业控制信号处理 ( #1333 )
...
* feat: 实现waitid系统调用及作业控制信号处理
- 新增waitid系统调用,支持WEXITED、WSTOPPED、WCONTINUED等选项
- 完善作业控制信号处理逻辑,支持SIGSTOP/SIGCONT的异步处理
- 优化信号唤醒机制,确保及时处理pending信号
- 添加waitid功能测试用例,验证系统调用正确性
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复进程管理和信号处理中的竞态条件与错误处理
- 在信号唤醒逻辑中添加停止状态检查,避免错误唤醒已停止进程
- 修复进程等待循环中的错误处理,防止在ESRCH等错误时无限循环
- 优化CPU踢出逻辑,避免当前CPU自踢造成的竞态条件
- 清理信号类型定义中的冗余注释
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(ipc): 修正信号信息结构体字段顺序以符合Linux标准
- 调整SigInfo和PosixSigInfo结构体字段顺序
- 确保si_errno在si_code之前,符合Linux标准布局
- 更新相关转换代码中的字段赋值顺序
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-02 21:49:32 +08:00
LoGin
0fdf7e1123
feat(ipc): 实现 rt_sigtimedwait 系统调用并优化信号处理机制 ( #1323 )
...
* feat(ipc): 实现 rt_sigtimedwait 系统调用并优化信号处理机制
- 添加标准 POSIX siginfo_t 结构体及相关类型,用于用户态接口
- 实现 rt_sigtimedwait 系统调用,支持等待特定信号并处理超时
- 优化信号处理逻辑,确保信号正确标记为 pending
- 修复生命周期标注问题,提高代码健壮性
- 添加完整的系统调用测试用例
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(signal): 扩展实时信号支持并优化信号处理逻辑
- 新增实时信号定义(SIGRTMIN+1至SIGRTMIN+31)
- 改进信号唤醒机制,修复阻塞状态下的信号处理
- 增强内存错误日志,添加进程ID和RIP信息
- 重构抢占管理,引入PreemptGuard机制
- 优化rt_sigtimedwait系统调用实现
Signed-off-by: longjin <longjin@DragonOS.org>
2025-10-14 00:01:48 +08:00
LoGin
5038bf86d5
feat: implement namespace proxy and PID namespace support ( #1244 )
...
- Add nsproxy module for unified namespace management across process types
- Implement complete PID namespace isolation with process ID mapping and management
- Refactor credential system to use Arc<Cred> for improved performance and memory safety
- Unify namespace common field management to enhance code reusability
- Optimize PID namespace process lookup and management mechanisms
- Enhance TTY subsystem with improved terminal job control and virtual terminal management
- Improve signal handling system with namespace-level signal isolation
- Add sys_getpgrp system call and refine process group management
- Refactor signal processing modules across x86 and RISC-V architectures
2025-07-30 22:54:43 +08:00
LoGin
7fb7701e19
refactor(x86/ipc): 将信号处理相关代码迁移至generic_signal模块 ( #1226 )
...
* refactor(x86/ipc): 将信号处理相关代码迁移至generic_signal模块
将x86的Signal、SigSet等信号处理相关定义及默认处理函数从x86_64/ipc/signal.rs迁移到ipc/generic_signal.rs,实现架构无关的信号处理逻辑。
Signed-off-by: longjin <longjin@DragonOS.org>
* refactor(riscv64): 重构信号处理模块,使用通用信号实现
移除原有的Signal枚举和信号处理函数,改为使用通用的GenericSignal实现
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-07-01 20:37:40 +08:00
LoGin
e80796eb82
feat: la64 boot ( #1132 )
...
* la64能够进入到kernel_main
* ci: 添加为ubuntu编译qemu-loongarch64的脚本
* feat: la64能输出hello world
* la64 安装gcc && 配置github ci
* chore: 更新CI工作流和构建脚本中的Docker镜像版本至v1.10
Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-20 18:51:45 +08:00