Re: BUG #15964: vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE'

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Andres Freund <andres@anarazel.de>, Dilip Kumar <dilipbalaut@gmail.com>, jungleboogie0@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2019-08-21T14:34:49Z
Lists: pgsql-bugs
On 2019-Aug-21, Tom Lane wrote:

> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> > I guess the other possibility is that there exists an operating system
> > that returns file descriptors higher than its FD_SETSIZE, when some fds
> > below FD_SETSIZE are still available.  Doesn't seem realistic.
> 
> I think POSIX requires open() to select the lowest unused FD.  Otherwise
> tricks like closing and reopening stdout wouldn't work reliably.

Ah, yes, that's right -- my system's open(3p) manpage says:

       The  open()  function  shall return a file descriptor for the named file
       that is the lowest file descriptor not currently open for that process.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Fix error handling of vacuumdb when running out of fds

  2. Fix error handling of vacuumdb and reindexdb when running out of fds

  3. Fix compilation failure of vacuumdb and reindexdb with OpenBSD

  4. Improve Assert output

  5. Refactor parallelization processing code in src/bin/scripts/

  6. vacuumdb: enable parallel mode