Repository navigation
signal.pthread_sigmask - #6475
Conversation
📝 WalkthroughWalkthroughThe changes add support for Changes
Sequence Diagram(s)sequenceDiagram
actor User as Python Code
participant VM as RustPython VM
participant Sig as Signal Handler
participant Libc as libc::pthread_sigmask
User->>VM: Call signal.pthread_sigmask(how, mask)
activate VM
VM->>Sig: Validate parameters & signals
Note over Sig: Range check each signal<br/>Build sigset_t
Sig-->>VM: Validated sigset
VM->>Libc: Call pthread_sigmask(how, &mask)
Libc-->>VM: Returns old_mask, status
alt Success
VM->>Sig: Convert old_mask to Python set
Sig-->>VM: Python set of old signals
VM->>VM: Trigger signal checks
VM-->>User: Return old_mask as set
else Error
VM-->>User: Raise Python exception
end
deactivate VM
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (1)**/*.rs📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
🧬 Code graph analysis (1)crates/vm/src/stdlib/signal.rs (1)
🔇 Additional comments (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
fix #6302
Summary by CodeRabbit
pthread_sigmask()function for signal mask manipulation on Unix systems.SIG_BLOCK,SIG_SETMASK, andSIG_UNBLOCKfor use with signal operations.✏️ Tip: You can customize this high-level summary in your review settings.