]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Use STDOUT/STDERR_FILENO in most of syslogger.
authorAndres Freund <andres@anarazel.de>
Tue, 19 Jul 2022 00:06:34 +0000 (17:06 -0700)
committerAndres Freund <andres@anarazel.de>
Tue, 19 Jul 2022 00:22:36 +0000 (17:22 -0700)
commitc91a216ef7385e78e7eb80355c4d02953711bdba
treef6d0530696e04b5be3aee0c4d9d6606e414ab6a4
parent92f478657c5544eba560047c39eba8a030ddb83e
Use STDOUT/STDERR_FILENO in most of syslogger.

This fixes problems on windows when logging collector is used in a service,
failing with:
FATAL:  could not redirect stderr: Bad file descriptor

This is triggered by 76e38b37a5. The problem is that STDOUT/STDERR_FILENO
aren't defined on windows, which lead us to use _fileno(stdout) etc, but that
doesn't work if stdout/stderr are closed.

Author: Andres Freund <andres@anarazel.de>
Reported-By: Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>
Message-Id: 20220520164558.ozb7lm6unakqzezi@alap3.anarazel.de (on pgsql-packagers)
Backpatch: 15-, where 76e38b37a5 came in
src/backend/postmaster/syslogger.c