]> granicus.if.org Git - postgresql/commit
While waiting for a condition variable, detect postmaster death.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Jan 2018 17:34:46 +0000 (12:34 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Jan 2018 17:34:57 +0000 (12:34 -0500)
commit80259d4dbf47d13ef4c105e06c4ea084639d9466
tree77c0f68d629f49775cae59e3b7c17f2f08eedbea
parentc3d41ccf5931a2e587d114d9886717df76459a9d
While waiting for a condition variable, detect postmaster death.

The general assumption for postmaster child processes is that they
should just exit(1), reasonably promptly, if the postmaster disappears.
condition_variable.c neglected this consideration and could be left
waiting forever, if the counterpart process it is waiting for has
done the right thing and exited.

We had some discussion of adjusting the WaitEventSet API to make it
harder to make this type of mistake in future; but for the moment,
and for v10, let's make this narrow fix.

Discussion: https://postgr.es/m/20412.1515456143@sss.pgh.pa.us
src/backend/storage/lmgr/condition_variable.c