Skip to content

refactor(wait_queue): 重构等待队列机制,引入Waiter/Waker模式#1452

Merged
fslongjin merged 4 commits intoDragonOS-Community:masterfrom
fslongjin:refactor-wait-queue
Dec 10, 2025
Merged

refactor(wait_queue): 重构等待队列机制,引入Waiter/Waker模式#1452
fslongjin merged 4 commits intoDragonOS-Community:masterfrom
fslongjin:refactor-wait-queue

Conversation

@fslongjin
Copy link
Member

  • 重构WaitQueue,引入Waiter/Waker模式避免唤醒丢失
  • 统一等待接口,提供wait_event_interruptible/uninterruptible方法
  • 重构futex、epoll、eventfd、semaphore、completion等模块使用新等待队列
  • 优化进程等待子进程退出逻辑,使用新等待队列接口
  • 添加等待队列设计文档说明新机制

- 重构WaitQueue,引入Waiter/Waker模式避免唤醒丢失
- 统一等待接口,提供wait_event_interruptible/uninterruptible方法
- 重构futex、epoll、eventfd、semaphore、completion等模块使用新等待队列
- 优化进程等待子进程退出逻辑,使用新等待队列接口
- 添加等待队列设计文档说明新机制

Signed-off-by: longjin <longjin@DragonOS.org>
@fslongjin
Copy link
Member Author

@claude review this pr in chinese and add inline comments

@dragonos-community-ai-pr-reviewer
Copy link

dragonos-community-ai-pr-reviewer bot commented Dec 9, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

- 在sys_rt_sigtimedwait中消费信号后及时刷新HAS_PENDING_SIGNAL状态,避免后续等待路
径误判
- 将futex可中断唤醒的错误码从ERESTARTSYS改为EINTR,以符合Linux语义

Signed-off-by: longjin <longjin@DragonOS.org>
- Changed the Docker image source from `docker.cnb.cool/dragonos-community/dragonos/dragonos-dev:v1.19` to `dragonos/dragonos-dev:v1.19` for consistency in CI workflows.

Signed-off-by: longjin <longjin@DragonOS.org>
@fslongjin fslongjin merged commit f2cca87 into DragonOS-Community:master Dec 10, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant