Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
От | Heikki Linnakangas |
---|---|
Тема | Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code) |
Дата | |
Msg-id | d7f43fdc-caed-f435-fc73-055bf93dcbab@iki.fi обсуждение исходный текст |
Ответ на | Re: Refactoring backend fork+exec code (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
|
Список | 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)
Вложения
В списке pgsql-hackers по дате отправления: