On Tue, Aug 20, 2019 at 10:40:05PM -0400, Alvaro Herrera wrote:
> On 2019-Aug-21, Michael Paquier wrote:
>
> > + if (PQsocket(conn) >= FD_SETSIZE)
> > + {
> > + fprintf(stderr, "too many jobs for this platform's select()\n");
> > + exit(1);
> > + }
>
> BTW why fprintf? Since you can get into this by careless use of -j,
> ISTM that this should be a translatable string. I'd consider
> pg_log_fatal(). Maybe something like "Argument of -j too large for this
> platform -- try %d", numslots - i.
If giving a recommendation, shouldn't that be linked only to "i"
instead? If for example numslots = 1024, but that we get an error
after allocating 128 slots because of a lack of fds in the range, then
we would recommend 896, which would still result in an error. I quite
like the suggestion from Andres to keep the message simple with "too
many jobs for this platform's select()". You are indeed right about
the pg_log_fatal() part here, I have changed the patch to do that on
my local branch.
--
Michael