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
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