aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-09-02 18:53:10 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2021-09-02 18:53:10 -0400
commitc95ede41b8d47b21d58702fbc519e720f41fdaf1 (patch)
tree1baf3ad93cf346ec23d11ae5bebf40b9a78438d8 /src/backend/utils/adt
parentce773f230d9b5bb2e0dd23fec4e5462fd99487fe (diff)
downloadpostgresql-c95ede41b8d47b21d58702fbc519e720f41fdaf1.tar.gz
postgresql-c95ede41b8d47b21d58702fbc519e720f41fdaf1.zip
In count_usable_fds(), duplicate stderr not stdin.
We had a complaint that the postmaster fails to start if the invoking program closes stdin. That happens because count_usable_fds expects to be able to dup(0), and if it can't, we conclude there are no free FDs and go belly-up. So far as I can find, though, there is no other place in the server that touches stdin, and it's not unreasonable to expect that a daemon wouldn't use that file. As a simple improvement, let's dup FD 2 (stderr) instead. Unlike stdin, it *is* reasonable for us to expect that stderr be open; even if we are configured not to touch it, common libraries such as libc might try to write error messages there. Per gripe from Mario Emmenlauer. Given the lack of previous complaints, I'm not excited about pushing this into stable branches, but it seems OK to squeeze it into v14. Discussion: https://postgr.es/m/48bafc63-c30f-3962-2ded-f2e985d93e86@emmenlauer.de
Diffstat (limited to 'src/backend/utils/adt')
0 files changed, 0 insertions, 0 deletions