diff options
author | Robert Haas <rhaas@postgresql.org> | 2017-12-21 09:09:04 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2017-12-21 09:24:30 -0500 |
commit | 59d1e2b95a826869e2789ffe01e9e552148eefde (patch) | |
tree | 998fb89ee346fa0ba8c56be42daa65da21e0eb2a /src/backend/utils/adt/geo_spgist.c | |
parent | 1804284042e659e7d16904e7bbb0ad546394b6a3 (diff) | |
download | postgresql-59d1e2b95a826869e2789ffe01e9e552148eefde.tar.gz postgresql-59d1e2b95a826869e2789ffe01e9e552148eefde.zip |
Cancel CV sleep during subtransaction abort.
Generally, error recovery paths that need to do things like
LWLockReleaseAll and pgstat_report_wait_end also need to call
ConditionVariableCancelSleep, but AbortSubTransaction was missed.
Since subtransaction abort might destroy up the DSM segment that
contains the ConditionVariable stored in cv_sleep_target, this
can result in a crash for anything using condition variables.
Reported and diagnosed by Andres Freund.
Discussion: http://postgr.es/m/20171221110048.rxk6464azzl5t2fi@alap3.anarazel.de
Diffstat (limited to 'src/backend/utils/adt/geo_spgist.c')
0 files changed, 0 insertions, 0 deletions