• Michael Paquier's avatar
    Fix compilation failure of vacuumdb and reindexdb with OpenBSD · 56f8f962
    Michael Paquier authored
    FD_SETSIZE is included in sys/select.h per POSIX, and this header
    inclusion has been moved to scripts_parallel.c as of 5f384037 without
    moving the variable, causing a compilation failure on recent versions of
    OpenBSD (6.6 was the version used in the report).
    
    In order to take care of the failure, move FD_SETSIZE directly to
    scripts_parallel.c with a wrapper controlling the maximum number of
    parallel slots supported, based on a suggestion by Andres Freund.
    
    While on it, reduce the maximum number to be less than FD_SETSIZE,
    leaving some room for stdin, stdout and such as they consume some file
    descriptors.
    
    The buildfarm did not complain about that, as it happens to only be
    an issue on recent versions of OpenBSD and there is no coverage in this
    area.  51c3e9fa fixed a similar set of issues.
    
    Bug: #15964
    Reported-by: Sean Farrell
    Discussion: https://postgr.es/m/15964-c1753bdfed722e04@postgresql.org
    56f8f962
scripts_parallel.c 6.42 KB