diff options
author | Thomas Munro <tmunro@postgresql.org> | 2020-01-28 15:28:36 +1300 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2020-01-28 15:28:36 +1300 |
commit | 78aaa0e82335527b8cc91601c98c9abbbc3ef3ee (patch) | |
tree | b606f2b34a137a2110eaa06adc1a571ca51e58d6 /src/backend/utils/adt/jsonb_util.c | |
parent | 05f18c6b6b6e4b44302ee20a042cedc664532aa2 (diff) | |
download | postgresql-78aaa0e82335527b8cc91601c98c9abbbc3ef3ee.tar.gz postgresql-78aaa0e82335527b8cc91601c98c9abbbc3ef3ee.zip |
Don't reset latch in ConditionVariablePrepareToSleep().
It's not OK to do that without calling CHECK_FOR_INTERRUPTS().
Let the next wait loop deal with it, following the usual pattern.
One consequence of this bug was that a SIGTERM delivered in a very
narrow timing window could leave a parallel worker process waiting
forever for a condition variable that will never be signaled, after
an error was raised in other process.
The code is a bit different in the stable branches due to commit
1321509f, making problems less likely there. No back-patch for now,
but we may finish up deciding to make a similar change after more
discussion.
Author: Thomas Munro
Reviewed-by: Shawn Debnath
Reported-by: Tomas Vondra
Discussion: https://postgr.es/m/CA%2BhUKGJOm8zZHjVA8svoNT3tHY0XdqmaC_kHitmgXDQM49m1dA%40mail.gmail.com
Diffstat (limited to 'src/backend/utils/adt/jsonb_util.c')
0 files changed, 0 insertions, 0 deletions