diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2022-01-20 17:28:07 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2022-01-20 17:28:07 -0500 |
commit | 4828a80069abc3e4b5baffe3ebffb69e6dd5bc10 (patch) | |
tree | a8575bdcb3a3ee89d356b2af21d0cb0249a003f1 /src/backend/access/transam/commit_ts.c | |
parent | 31680730ef7bac82ff09efa0824c2d8e5e8840f1 (diff) | |
download | postgresql-4828a80069abc3e4b5baffe3ebffb69e6dd5bc10.tar.gz postgresql-4828a80069abc3e4b5baffe3ebffb69e6dd5bc10.zip |
Tighten TAP tests' tracking of postmaster state some more.
Commits 6c4a8903b et al. had a couple of deficiencies:
* The logic I added to Cluster::start to see if a PID file is present
could be fooled by a stale PID file left over from a previous
postmaster. To fix, if we're not sure whether we expect to find a
running postmaster or not, validate the PID using "kill 0".
* 017_shm.pl has a loop in which it just issues repeated Cluster::start
calls; this will fail if some invocation fails but leaves self->_pid
set. Per buildfarm results, the above fix is not enough to make this
safe: we might have "validated" a PID for a postmaster that exits
immediately after we look. Hence, match each failed start call with
a stop call that will get us back to the self->_pid == undef state.
Add a fail_ok option to Cluster::stop to make this work.
Discussion: https://postgr.es/m/CA+hUKGKV6fOHvfiPt8=dOKzvswjAyLoFoJF1iQXMNpi7+hD1JQ@mail.gmail.com
Diffstat (limited to 'src/backend/access/transam/commit_ts.c')
0 files changed, 0 insertions, 0 deletions