Re: [PATCH] O_CLOEXEC not honored on Windows - handle inheritance chain

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Bryan Green <dbryan.green@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-12-21T22:48:54Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. ci: Test Windows + Mkvcbuild.pm in REL_16_STABLE.

  2. Fix Mkvcbuild.pm builds of test_cloexec.c.

  3. Clean up test_cloexec.c and Makefile.

  4. Fix O_CLOEXEC flag handling in Windows port.

  5. Don't leak descriptors into subprograms.

Thomas Munro <thomas.munro@gmail.com> writes:
> I pushed the cleanup patch.

fairywren's still not happy, though only in the v16 branch:

Could not determine contrib module type for test_cloexec
 at build.pl line 54.

This evidently is because the old MSVC build system doesn't
recognize

PROGRAM += test_cloexec
OBJS += $(WIN32RES) test_cloexec.o

Is there a reason for using += not just = here?  We could certainly
modify Mkvcbuild.pm to parse this if we need to, but it looks more
like a gratuitous difference from everyplace else than a useful
behavior.

			regards, tom lane