Skip to content
Snippets Groups Projects
Unverified Commit c2ebfd38 authored by Michael Aaron Murphy's avatar Michael Aaron Murphy Committed by GitHub
Browse files

Foreground Job Control Overhaul (#661)

Job control in Ion was a complete mess, and it was a wonder that it even worked at one point to begin with! I've gone through and fixed a number of issues related to foreground job management.

- Processes are no longer preemptively killed by Ion to emulate SIGPIPE support.
- Processes within a pipeline are now assigned the same PGID.
- A SIGPIPE handler is now registered so that processes exit when they receive a SIGPIPE.
- Jobs should exit with the correct exit statuses in more situations.
- External commands now use fork + exec, rather than `std::process::Command`.
- Redox's foreground job management was also improved.
- Some refactoring was performed, with more refactoring planned in the future.

There's likely some issues that remain to be addressed though. Needs more testing & bug reports. Background job management remains to be mostly broken for now, so that's an area to look into next.
parent 9c57cefc
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment