Distinguish between AcquireExternalFD and epoll_create1 / kqueue failing
authorAndres Freund <andres@anarazel.de>
Tue, 26 Nov 2024 17:20:59 +0000 (12:20 -0500)
committerAndres Freund <andres@anarazel.de>
Tue, 26 Nov 2024 17:44:47 +0000 (12:44 -0500)
commitb8f9afc81f26ead612fcfe76301c01d110e36c7e
tree483af5541cd54af136a65f431a97ff7169ee93dd
parent4ee130c6e03becefae94e66bf537cd1279823c68
Distinguish between AcquireExternalFD and epoll_create1 / kqueue failing

The error messages in CreateWaitEventSet() made it hard to know whether the
syscall or AcquireExternalFD() failed. This is particularly relevant because
AcquireExternalFD() imposes a lower limit than what would cause syscalls fail
with EMFILE.

I did not change the message in libpqsrv_connect_prepare(), which is the one
other use of AcquireExternalFD() in our codebase, as the error message already
is less ambiguous.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/xjjx7r4xa7beixuu4qtkdhnwdbchrrpo3gaeb3jsbinvvdiat5@cwjw55mna5of
src/backend/storage/ipc/latch.c