DragonOS/docs/kernel
LoGin 878033ceff
refactor(ipc): 重构信号处理逻辑,优化锁顺序并简化接口 (#1694)
* refactor(ipc): 重构信号处理逻辑,优化锁顺序并简化接口

- 在`ProcessControlBlock`中新增`dequeue_pending_signal`
方法,统一处理线程与进程共享信号队列,遵循`sighand -> sig_info`
的锁顺序以避免死锁
- 移除`ProcessSignalInfo::dequeue_signal`方法,替换为更明确的
`dequeue_thread_signal`,仅处理线程私有信号
- 简化`recalc_sigpending`方法签名,移除可选的`siginfo_guard`参数,内部统一获取锁
- 更新`do_signal`、`signalfd`、`sys_rt_sigtimedwait`
等调用点以使用新接口,消除冗余锁操作
- 在`Sighand`结构体中添加`inner_read`方法以支持上述锁顺序

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

* add doc

* fix(net): 修复TCP套接字事件通知和关闭流程

- 在`incoming()`方法中增加对EPOLLHUP和EPOLLERR事件的检查
- 在关闭流程中显式释放writer并触发通知
- 在接收和发送数据成功后调用`notify()`方法更新事件状态
- 修改事件检查逻辑,使用`intersects()`替代`contains()`以支持多事件判断

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

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2026-01-22 00:23:21 +08:00
..
boot feat(boot): 内核启动命令行参数解析 (#969) 2024-10-13 23:39:55 +08:00
configuration riscv: 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 (#699) 2024-04-06 22:13:26 +08:00
container refactor: Remove namespace related code (#1218) 2025-06-28 21:20:21 +08:00
core_api fix: remove useless c code (#1116) 2025-03-27 14:16:10 +08:00
cpu_arch doc: usb legacy support 2022-07-19 18:32:32 +08:00
debug chore: update docker image version in script && update doc (#1076) 2024-12-16 01:48:46 +08:00
device feat(loop_device): 新增loop设备子系统 (#1261) 2025-12-24 14:29:46 +08:00
filesystem refactor(block&filesystem): 移除块设备缓存层并实现FAT表缓存 (#1669) 2026-01-15 20:53:43 +08:00
interrupt docs: 添加Tasklet文档并扩展其数据传递能力 (#1624) 2026-01-09 14:33:23 +08:00
ipc refactor(ipc): 重构信号处理逻辑,优化锁顺序并简化接口 (#1694) 2026-01-22 00:23:21 +08:00
ktest docs: 添加gvisor测例修复指引 (#1541) 2025-12-23 12:24:36 +08:00
libs feat(ida): IDA内部改为使用XArray实现 (#934) 2024-09-25 11:20:52 +08:00
locking refactor(kernel): 重构 Mutex 和 WaitQueue 实现,使用状态机避免唤醒丢失 (#1643) 2026-01-13 20:50:15 +08:00
memory_management refactor(mm): 修改异常表安全拷贝的错误处理返回值 (#1395) 2025-11-21 14:26:52 +08:00
net feat(net): 重构网络子系统,引入NAPI机制与TCP socket改进 (#1599) 2026-01-07 22:50:48 +08:00
process_management feat(exec): 实现多线程exec的去线程化功能 (#1682) 2026-01-19 14:00:25 +08:00
sched refactor(kernel): 重构 Mutex 和 WaitQueue 实现,使用状态机避免唤醒丢失 (#1643) 2026-01-13 20:50:15 +08:00
syscall feat: implement sys_capget and sys_capset system calls (#1293) 2025-09-25 17:17:26 +08:00
trace feat: support tracepoint-based ebpf programs (#1190) 2025-06-14 17:34:45 +08:00