From 580aa0677edc222ebaf6e1031cf3929f847f27fb Mon Sep 17 00:00:00 2001
From: Christoph Berg <christoph.berg@credativ.de>
Date: Wed, 26 Jun 2019 16:20:14 +0200
Subject: [PATCH] pg_ctlcluster: Close extra log filedescriptor. Thanks Andrey
 Borodin! (Closes: #930728)

---
 debian/changelog | 2 ++
 pg_ctlcluster    | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 4711992c..f8576382 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,7 @@
 postgresql-common (202) UNRELEASED; urgency=medium
 
+  * pg_ctlcluster: Close extra log filedescriptor. Thanks Andrey Borodin!
+    (Closes: #930728)
   * gitlab/gitlab-ci.yml: Run blhc; fail on lintian errors.
 
  -- Christoph Berg <myon@debian.org>  Fri, 07 Jun 2019 14:46:05 +0200
diff --git a/pg_ctlcluster b/pg_ctlcluster
index 1690d3d3..30f2ff3d 100755
--- a/pg_ctlcluster
+++ b/pg_ctlcluster
@@ -165,6 +165,7 @@ sub start {
             my $fd = POSIX::open($info{logfile}, POSIX::O_WRONLY|POSIX::O_APPEND|POSIX::O_CREAT) or error "Could not open logfile $info{logfile}";
             dup2($fd, 1);
             dup2($fd, 2);
+            POSIX::close($fd) or error "Could not close log fd";
         }
         my $postgres = get_program_path 'postgres', $version;
         error "Could not find postgres executable for version $version" unless ($postgres);
@@ -210,6 +211,7 @@ sub start {
             my $fd = POSIX::open($info{'logfile'}, POSIX::O_WRONLY|POSIX::O_APPEND|POSIX::O_CREAT) or error "Could not open logfile $info{'logfile'}";
             dup2($fd, 1);
             dup2($fd, 2);
+            POSIX::close($fd) or error "Could not close log fd";
         }
         exec $pg_ctl @options or error "could not exec $pg_ctl @options: $!";
     }
-- 
GitLab