-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat(install): add SIGPIPE handling for Unix pipeline compatibility #10265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Restore SIGPIPE signal to default disposition on Unix systems if not explicitly ignored by parent, ensuring proper pipeline behavior and GNU install compatibility. The Rust runtime ignores SIGPIPE by default, but this change respects the parent's signal settings for better script integration.
Move the documentation comment for the main install utility function from above the SIGPIPE initialization to directly above the uumain function for better code organization and clarity.
Merging this PR will improve performance by 4.01%
Performance Changes
Comparing Footnotes
|
Add "signals" to the uucore features list to support signal handling in the install utility, improving responsiveness to interrupts and system signals.
|
Do you want to do this for each utility? I thought it's going to be needed in all utilities and would go to a central place? |
Required for most utilities |
|
In theory we could add it to the bin macro but I do not know for sure if there are any utilities that should not have this behavior? Are either of you two aware of any non-standard niche pipe signal behavior in any of the utilities? I was checking yes and I don't see how it has a unique implementation that's different than the other utilities |
I think tee require special handling. |
Restore SIGPIPE signal to default disposition on Unix systems if not explicitly ignored by parent, ensuring proper pipeline behavior and GNU install compatibility. The Rust runtime ignores SIGPIPE by default, but this change respects the parent's signal settings for better script integration.