diff options
author | Colin Watson <cjwatson@debian.org> | 2003-08-03 23:00:23 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2003-08-03 23:00:23 +0000 |
commit | 2561820b818cf133ba114b75942b7b2c76dabb0b (patch) | |
tree | 5343fce04cac4ca385da0611d1482061a91afc67 /lib/pipeline.c | |
parent | ee8bfcbc2c36344f80149571a1d68e22faec8ecd (diff) |
* lib/pipeline.c (pipeline_start): Use dup2() instead of close()
then dup().
Diffstat (limited to 'lib/pipeline.c')
-rw-r--r-- | lib/pipeline.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/lib/pipeline.c b/lib/pipeline.c index 628b4157..3d34b7d3 100644 --- a/lib/pipeline.c +++ b/lib/pipeline.c @@ -428,11 +428,8 @@ void pipeline_start (pipeline *p) /* input, reading side */ if (last_input != -1) { - if (close (0) < 0) - error (FATAL, errno, - _("close failed")); - if (dup (last_input) < 0) - error (FATAL, errno, _("dup failed")); + if (dup2 (last_input, 0) < 0) + error (FATAL, errno, _("dup2 failed")); if (close (last_input) < 0) error (FATAL, errno, _("close failed")); @@ -440,11 +437,8 @@ void pipeline_start (pipeline *p) /* output, writing side */ if (output_write != -1) { - if (close (1) < 0) - error (FATAL, errno, - _("close failed")); - if (dup (output_write) < 0) - error (FATAL, errno, _("dup failed")); + if (dup2 (output_write, 1) < 0) + error (FATAL, errno, _("dup2 failed")); if (close (output_write) < 0) error (FATAL, errno, _("close failed")); |