aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/spgist
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2018-08-08 19:08:10 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2018-08-08 19:10:35 +0300
commit79f17d45e82f3648c2459b8128ab4d516fb7640a (patch)
tree409f59cb2a151a042068477536ef6a6098ad3f62 /src/backend/access/spgist
parenta3deecb1c9af1e3d210a321401e40f22db859290 (diff)
downloadpostgresql-79f17d45e82f3648c2459b8128ab4d516fb7640a.tar.gz
postgresql-79f17d45e82f3648c2459b8128ab4d516fb7640a.zip
Don't run atexit callbacks in quickdie signal handlers.
exit() is not async-signal safe. Even if the libc implementation is, 3rd party libraries might have installed unsafe atexit() callbacks. After receiving SIGQUIT, we really just want to exit as quickly as possible, so we don't really want to run the atexit() callbacks anyway. The original report by Jimmy Yih was a self-deadlock in startup_die(). However, this patch doesn't address that scenario; the signal handling while waiting for the startup packet is more complicated. But at least this alleviates similar problems in the SIGQUIT handlers, like that reported by Asim R P later in the same thread. Backpatch to 9.3 (all supported versions). Discussion: https://www.postgresql.org/message-id/CAOMx_OAuRUHiAuCg2YgicZLzPVv5d9_H4KrL_OFsFP%3DVPekigA%40mail.gmail.com
Diffstat (limited to 'src/backend/access/spgist')
0 files changed, 0 insertions, 0 deletions