Commit Graph

4 Commits

Author SHA1 Message Date
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 225be1aff8
refactor(time): 将时间相关系统调用重构到syscall table机制下 (#1314)
* refactor(time): 将时间相关系统调用重构到syscall table机制下

- sys_alarm
- sys_clock_gettime
- sys_gettimeofday

Signed-off-by: longjin <longjin@DragonOS.org>

* fix(time): 修复sys_alarm系统调用的逻辑错误

- 修复初始化alarm时使用固定值0的问题,改为使用传入的秒数
- 在取消alarm时正确清空pcb_alarm并返回剩余时间

Signed-off-by: longjin <longjin@DragonOS.org>

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-10-09 22:21:48 +08:00
LoGin f1ca2910e6
feat: add sys_clock_nanosleep, tgkill, tkill (#1307)
* feat(syscall): 实现 clock_nanosleep 系统调用及信号重启机制

- 添加 clock_nanosleep 系统调用实现,支持相对和绝对时间睡眠
- 完善信号中断后的系统调用重启机制,特别是 ERESTART_RESTARTBLOCK 的处理
- 为 nanosleep 添加重启块支持,实现 SA_RESTART 标志的语义
- 添加 clock_nanosleep 的测试用例
- 修复 TKILL 系统调用返回 ENOSYS 而非 0

Signed-off-by: longjin <longjin@DragonOS.org>

* feat(ipc): 新增 tkill 和 tgkill 系统调用实现

- 添加 tkill 和 tgkill 系统调用及相关信号处理功能
- 实现 pause 系统调用
- 改进 nanosleep 和 clock_nanosleep 功能
- 添加相关测试用例

Signed-off-by: longjin <longjin@DragonOS.org>

* style(time): 优化睡眠函数代码结构并移除调试日志

- 重构nanosleep函数中was_interrupted变量的赋值逻辑
- 移除clock_nanosleep和nanosleep函数中的调试日志输出

Signed-off-by: longjin <longjin@DragonOS.org>

* refactor: 将 SigCode 枚举从各架构特定文件移至通用 signal_types.rs

- 消除 loongarch64、riscv64 和 x86_64 架构中的重复 SigCode 定义
- 统一信号代码处理逻辑到 signal_types.rs 模块
- 更新相关文件的导入路径以适应新的 SigCode 位置

Signed-off-by: longjin <longjin@DragonOS.org>

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-10-08 14:19:27 +08:00
LoGin c8af029744
refactor(time): 将nanosleep系统调用适配新的syscall table (#1233)
Signed-off-by: longjin <longjin@DragonOS.org>
2025-07-12 22:54:40 +08:00