postgres.git / summary / log / commit / refs

commit    bc322c73cfaa9d8b93d6894fb591ec1592e98b31
Author:   Nathan Bossart <nathan@postgresql.org>
Date:     Tue Oct 17 21:11:18 2023 +0000
First released in: 11.22, 12.17, 13.13, 14.10

    windows: msvc: Define STDIN/OUT/ERR_FILENO.
    
    This commit (c290e79cf0) was originally back-patched to v15.
    Commit 97550c0711 added a new use of STDERR_FILENO, and it was
    back-patched all the way to v11, thus breaking MSVC builds for v11
    through v14.  Since STDERR_FILENO is now needed on older versions,
    let's back-patch c290e79cf0 down to v11, too.
    
    Here follows the original commit message describing the change:
    
    Because they are not available we've used _fileno(stdin) in some places, but
    that doesn't reliably work, because stdin might be closed. This is the
    prerequisite of the subsequent commit, fixing a failure introduced in
    76e38b37a5.
    
    Author: Andres Freund <andres@anarazel.de>
    Reported-By: Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>
    Message-Id: 20220520164558.ozb7lm6unakqzezi@alap3.anarazel.de (on pgsql-packagers)
    Discussion: https://postgr.es/m/20231017164517.GA613565%40nathanxps13
    Backpatch-through: 11


src/include/port/win32_msvc/unistd.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/include/port/win32_msvc/unistd.h b/src/include/port/win32_msvc/unistd.h index b63f4770a1c..b7795ba03c4 100644 --- a/src/include/port/win32_msvc/unistd.h +++ b/src/include/port/win32_msvc/unistd.h @@ -1 +1,9 @@ /* src/include/port/win32_msvc/unistd.h */ + +/* + * MSVC does not define these, nor does _fileno(stdin) etc reliably work + * (returns -1 if stdin/out/err are closed). + */ +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 [parent: 05b4614decac]