Re: BUG #15964: vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE'
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: jungleboogie0@gmail.com, pgsql-bugs@lists.postgresql.org,
Michael Paquier <michael@paquier.xyz>
Date: 2019-08-17T21:59:05Z
Lists: pgsql-bugs
Andres Freund <andres@anarazel.de> writes: > On 2019-08-17 16:31:01 -0400, Tom Lane wrote: >> PG Bug reporting form <noreply@postgresql.org> writes: >>> vacuumdb.c:184:26: error: use of undeclared identifier 'FD_SETSIZE' >> Hmm, it seems somebody removed the "#include <sys/select.h>" from >> that file, which was a pretty not-bright idea. > Most of the parallel code was move into bin/scripts/scripts_parallel.c - > but there's still the above error check. Seems like we ought to add a > ParallelSlotsMax() or such, and use that in the error check, rather than > check FD_SETSIZE directly? Yeah, that would likely be cleaner than just responding to this directly. >> But I wonder why the OpenBSD machines in the buildfarm aren't complaining. > Or even why it works on other platforms. Indeed. I've confirmed the bug report on a local OpenBSD 6.4 build (clang 6.0.0), and with "make -k" I can see that reindexdb.c fails likewise. But this is unsurprising given that POSIX says that FD_SETSIZE is declared by sys/select.h. And I'm not that astonished by it not failing on Linux, either; the glibc headers are well known for #including much more than POSIX says they must. But it's surprising and worrisome that none of our other buildfarm platforms complained. Seems like somebody should start running an animal with a more modern OpenBSD, at least. regards, tom lane
Commits
-
Fix error handling of vacuumdb when running out of fds
- a21ec1a959ef 9.5.20 landed
- eb91b8ee6572 9.6.16 landed
- 4fca1460099e 10.11 landed
- 5d76c8037329 11.6 landed
- 63fc3b124008 12.0 landed
-
Fix error handling of vacuumdb and reindexdb when running out of fds
- 71d84efba714 13.0 landed
-
Fix compilation failure of vacuumdb and reindexdb with OpenBSD
- 56f8f9624ba0 13.0 landed
-
Improve Assert output
- d78d452bc5ac 13.0 cited
-
Refactor parallelization processing code in src/bin/scripts/
- 5f3840370b63 13.0 cited
-
vacuumdb: enable parallel mode
- a17923204736 9.5.0 cited