Use FD_CLOEXEC on ListenSockets
Heikki Linnakangas <heikki.linnakangas@iki.fi>
Use FD_CLOEXEC on ListenSockets It's good hygiene if e.g. an extension launches a subprogram when being loaded. We went through some effort to close them in the child process in EXEC_BACKEND mode, but it's better to not hand them down to the child process in the first place. We still need to close them after fork when !EXEC_BACKEND, but it's a little simpler. In the passing, LOG a message if closing the client connection or listen socket fails. Shouldn't happen, but if it does, would be nice to know. Reviewed-by: Tristan Partin, Andres Freund, Thomas Munro Discussion: https://www.postgresql.org/message-id/7a59b073-5b5b-151e-7ed3-8b01ff7ce9ef@iki.fi
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/libpq/pqcomm.c | modified | +5 −1 |
| src/backend/postmaster/postmaster.c | modified | +6 −8 |
Discussion
- Refactoring backend fork+exec code 63 messages · 2023-06-18 → 2024-07-03