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