Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't start keepalive process if the first or last process is internal
Currently, fish spawns a keepalive process when a non-external process (a block/builtin/function) is inside a pipeline. This keepalive process is then made the process group leader, which theoretically stops the process group from being coopted by PID reuse (which I'm still not sure can actually happen). But if a non-external process is first or last in the pipeline, then fish itself needs to read/write to the terminal, so it should remain pgroup leader, and therefore the keepalive process is not needed. Fixes fish-shell#4540.
- Loading branch information