Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hz6jI-0002Y4-MR for pgsql-bugs@arkaria.postgresql.org; Sat, 17 Aug 2019 21:59:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hz6jG-0004zP-Kw for pgsql-bugs@arkaria.postgresql.org; Sat, 17 Aug 2019 21:59:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hz6jG-0004zI-A7 for pgsql-bugs@lists.postgresql.org; Sat, 17 Aug 2019 21:59:18 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1hz6j9-00080U-W9 for pgsql-bugs@lists.postgresql.org; Sat, 17 Aug 2019 21:59:17 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id x7HLx5Y5006405; Sat, 17 Aug 2019 17:59:05 -0400 From: Tom Lane To: Andres Freund cc: jungleboogie0@gmail.com, pgsql-bugs@lists.postgresql.org, Michael Paquier Subject: Re: BUG #15964: vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE' In-reply-to: <20190817210025.v4bblh4lhsxajmlj@alap3.anarazel.de> References: <15964-c1753bdfed722e04@postgresql.org> <24757.1566073861@sss.pgh.pa.us> <20190817210025.v4bblh4lhsxajmlj@alap3.anarazel.de> Comments: In-reply-to Andres Freund message dated "Sat, 17 Aug 2019 14:00:25 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <6401.1566079145.1@sss.pgh.pa.us> Date: Sat, 17 Aug 2019 17:59:05 -0400 Message-ID: <6402.1566079145@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Andres Freund writes: > On 2019-08-17 16:31:01 -0400, Tom Lane wrote: >> PG Bug reporting form writes: >>> vacuumdb.c:184:26: error: use of undeclared identifier 'FD_SETSIZE' >> Hmm, it seems somebody removed the "#include " 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