Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code) - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
Date
Msg-id d7f43fdc-caed-f435-fc73-055bf93dcbab@iki.fi
Whole thread Raw
In response to Re: Refactoring backend fork+exec code  (Andres Freund <andres@anarazel.de>)
Responses Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
List pgsql-hackers
Focusing on this one patch in this series:

On 11/07/2023 01:50, Andres Freund wrote:
>> From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
>> Date: Mon, 12 Jun 2023 16:33:20 +0300
>> Subject: [PATCH 4/9] Use FD_CLOEXEC on ListenSockets
>>
>> We went through some effort to close them in the child process. Better to
>> not hand them down to the child process in the first place.
> 
> I think Thomas has a larger version of this patch:
> https://postgr.es/m/CA%2BhUKGKPNFcfBQduqof4-7C%3DavjcSfdkKBGvQoRuAvfocnvY0A%40mail.gmail.com

Hmm, no, that's a little different. Thomas added the FD_CLOEXEC option 
to the *accepted* socket in commit 1da569ca1f. That was part of that 
thread. This patch adds the option to the *listen* sockets. That was not 
discussed in that thread, but it's certainly in the same vein.

Thomas: What do you think of the attached?

On 11/07/2023 00:07, Tristan Partin wrote:
>> @@ -831,7 +834,8 @@ StreamConnection(pgsocket server_fd, Port *port)
>>  void
>>  StreamClose(pgsocket sock)
>>  {
>> -       closesocket(sock);
>> +       if (closesocket(sock) != 0)
>> +               elog(LOG, "closesocket failed: %m");
>>  }
>>
>>  /*
> 
> Do you think WARNING would be a more appropriate log level?

No, WARNING is for messages that you expect the client to receive. This 
failure is unexpected at the system level, the message is for the 
administrator. The distinction isn't always very clear, but LOG seems 
more appropriate in this case.

-- 
Heikki Linnakangas
Neon (https://neon.tech)

Attachment

pgsql-hackers by date:

Previous
From: Quan Zongliang
Date:
Subject: Improving the heapgetpage function improves performance in common scenarios
Next
From: Dagfinn Ilmari Mannsåker
Date:
Subject: Re: Adding argument names to aggregate functions