Add some missing exit() calls in error paths for various binaries
authorMichael Paquier <michael@paquier.xyz>
Thu, 29 Jul 2021 02:42:58 +0000 (11:42 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 29 Jul 2021 02:42:58 +0000 (11:42 +0900)
commit856de3b39cf6041338b286a99257c324ce647f4e
tree4b9f5fedbbeb125095b13df630c6479ed4b89eb0
parent2ad98fdf53edf1a90123e3b189cc6f0a31986891
Add some missing exit() calls in error paths for various binaries

The following changes are done:
- In pg_archivecleanup, the cleanup of older WAL segments would never
fail immediately.
- In pgbench, the initialization of a thread barrier would not fail
hard.
- In pg_recvlogical, a stat() failure never got the call.
- In pg_basebackup, two chmod() reported a failure without exit()'ing
when unpacking some tar data freshly received.  It may be possible to
continue writing some data even after this failure, but that could be
confusing to the user at the end.

These are arguably bugs, but they would happen for code paths where a
failure is unlikely going to happen, so no backpatch is done.

Reviewed-by: Robert Haas, Fabien Coelho
Discussion: https://postgr.es/m/YQDMdB+B68yePFeT@paquier.xyz
src/bin/pg_archivecleanup/pg_archivecleanup.c
src/bin/pg_basebackup/pg_basebackup.c
src/bin/pg_basebackup/pg_recvlogical.c
src/bin/pgbench/pgbench.c