Distinguish between AcquireExternalFD and epoll_create1 / kqueue failing

Andres Freund <andres@anarazel.de>

Commit: b8f9afc81f26ead612fcfe76301c01d110e36c7e
Author: Andres Freund <andres@anarazel.de>
Date: 2024-11-26T17:44:47Z
Releases: 18.0
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

Files

PathChange+/−
src/backend/storage/ipc/latch.c modified +2 −8

Discussion