Re: File descriptors in exec'd subprocesses - Mailing list pgsql-hackers

From Andres Freund
Subject Re: File descriptors in exec'd subprocesses
Date
Msg-id 20230205164030.5ptk6ch6ioin3tvr@alap3.anarazel.de
Whole thread Raw
In response to Re: File descriptors in exec'd subprocesses  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi,

On 2023-02-05 11:06:13 -0500, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On February 5, 2023 1:00:50 AM GMT+01:00, Thomas Munro <thomas.munro@gmail.com> wrote:
> >> Are there any more descriptors we need to think about?
> 
> > Postmaster's listen sockets?
> 
> I wonder whether O_CLOEXEC on that would be inherited by the
> client-communication sockets, though.

I'd be very suprised if it were.

<hack>

Nope, at least not on linux. Verified by looking at /proc/*/fdinfo/n
after adding SOCK_CLOEXEC to just the socket() call. 'flags' changes
from 02 -> 02000002 for the listen socket, but stays at 04002 for the
client socket. If I add SOCK_CLOEXEC to accept() (well, accept4()), it
does change from 04002 to 02004002.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Weird failure with latches in curculio on v15
Next
From: Aleksander Alekseev
Date:
Subject: Re: [PATCH] Compression dictionaries for JSONB