On 15.02.22 16:41, Tom Lane wrote:
Peter Eisentraut <pe...@eisentraut.org> writes:
Remove IS_AF_UNIX macro
The AF_UNIX macro was being used unprotected by HAVE_UNIX_SOCKETS,
apparently since 2008.

I hadn't looked closely at this patch, but are you referring to
this bit in ip.h?

#ifdef  HAVE_UNIX_SOCKETS
#define IS_AF_UNIX(fam) ((fam) == AF_UNIX)
#else
#define IS_AF_UNIX(fam) (0)
#endif

That's by no means "unprotected": we will not try to reference
AF_UNIX unless HAVE_UNIX_SOCKETS is set.

In src/backend/utils/adt/pgstatfuncs.c there is a use of AF_UNIX that has been there unprotected by any #ifdef since about 2008.

We might as well just nuke
all the HAVE_UNIX_SOCKETS conditional compilation if we let
this stand.

(Now, maybe we should indeed do that.  I don't have much
interest in the possibility that we'll worry about such
platforms in future.)

Maybe/probably. But there is a difference between platforms having the AF_UNIX symbol (which is required by POSIX unconditionally) and platforms actually having Unix sockets or not (which might require different default configurations or run-time behavior), so the two questions are not that closely connected.


Reply via email to