Skip to content

feat(process): 实现信号备用栈的拷贝逻辑#1363

Merged
fslongjin merged 1 commit intoDragonOS-Community:masterfrom
fslongjin:feat-add-sigaltstack-copy
Nov 12, 2025
Merged

feat(process): 实现信号备用栈的拷贝逻辑#1363
fslongjin merged 1 commit intoDragonOS-Community:masterfrom
fslongjin:feat-add-sigaltstack-copy

Conversation

@fslongjin
Copy link
Member

  • 在进程创建流程中拷贝信号备用栈,确保子进程正确继承父进程的sigaltstack 设置
  • 从测试黑名单中移除ForkTest.SigAltStack

- 在进程创建流程中拷贝信号备用栈,确保子进程正确继承父进程的sigaltstack
设置
- 从测试黑名单中移除ForkTest.SigAltStack

Signed-off-by: longjin <longjin@DragonOS.org>
@github-actions github-actions bot added enhancement New feature or request test Unitest/User space test labels Nov 12, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements the copying of signal alternate stack (sigaltstack) during process creation to ensure child processes correctly inherit their parent's sigaltstack settings. The key change removes the ForkTest.SigAltStack test from the blocklist after implementing this functionality.

  • Adds a new copy_sigaltstack() function that handles the proper inheritance semantics for sigaltstack during fork/clone operations
  • Integrates the sigaltstack copying into the process creation flow in the copy_info() function
  • Removes previously failing tests from blocklists (ForkTest.SigAltStack, Waiters/WaitSpecificChildTest.CloneThread/*, and Waiters/WaitSpecificChildTest.ForkWCLONE/*)

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
kernel/src/process/fork.rs Implements copy_sigaltstack() function and integrates it into the process creation workflow
user/apps/tests/syscall/gvisor/blocklists/fork_test Removes ForkTest.SigAltStack from the blocklist
user/apps/tests/syscall/gvisor/blocklists/wait_test Removes Waiters/WaitSpecificChildTest.CloneThread/* and Waiters/WaitSpecificChildTest.ForkWCLONE/* from blocklist

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@fslongjin fslongjin merged commit 9e7725b into DragonOS-Community:master Nov 12, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request test Unitest/User space test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants