diff options
author | Thomas Munro <tmunro@postgresql.org> | 2018-09-18 22:56:36 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2018-09-18 23:03:54 +1200 |
commit | 63efab4ca139ab18095b8e095d5708d5566fc9e2 (patch) | |
tree | 8fe28b28953b90d9a38162a7e3581f6762bf24de /src/backend/executor/execParallel.c | |
parent | 3d65e406d1ea82060ad13a7bc41178ed22c599d1 (diff) | |
download | postgresql-63efab4ca139ab18095b8e095d5708d5566fc9e2.tar.gz postgresql-63efab4ca139ab18095b8e095d5708d5566fc9e2.zip |
Allow DSM allocation to be interrupted.
Chris Travers reported that the startup process can repeatedly try to
cancel a backend that is in a posix_fallocate()/EINTR loop and cause it
to loop forever. Teach the retry loop to give up if an interrupt is
pending. Don't actually check for interrupts in that loop though,
because a non-local exit would skip some clean-up code in the caller.
Back-patch to 9.4 where DSM was added (and posix_fallocate() was later
back-patched).
Author: Chris Travers
Reviewed-by: Ildar Musin, Murat Kabilov, Oleksii Kliukin
Tested-by: Oleksii Kliukin
Discussion: https://postgr.es/m/CAN-RpxB-oeZve_J3SM_6%3DHXPmvEG%3DHX%2B9V9pi8g2YR7YW0rBBg%40mail.gmail.com
Diffstat (limited to 'src/backend/executor/execParallel.c')
0 files changed, 0 insertions, 0 deletions