RawFDs now managed by forked process, not shell::pipe::builtin, when appropriate
Created by: huntergoldstein
Changes introduced by this pull request:
-
shell::pipe::builtin
will not close any file descriptors: this will be done byRefinedJob::drop
or inside the child process if appropriate. This prevents a double close in the case of a builtin being run in the parent process.
Fixes: Closes #478 (closed)
@mmstick: I'm thinking about replacing all of the RawFd
s with File
s. It would mean that RefinedJob
doesn't need to have a custom Drop
implementation and it means we are less dependent on *nix specific things. Thoughts?