Commit 59d1e2b
committed
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.de1 parent 1804284 commit 59d1e2b
1 file changed
+3
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4717 | 4717 | | |
4718 | 4718 | | |
4719 | 4719 | | |
| 4720 | + | |
| 4721 | + | |
| 4722 | + | |
4720 | 4723 | | |
4721 | 4724 | | |
4722 | 4725 | | |
| |||
0 commit comments