aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/explain.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-08-10 19:48:08 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-08-10 19:48:08 +0000
commitffafacc1f6e403b81180aa20d0a4184ce92beef8 (patch)
treea85699334c2bcffee5ccaec9d4b37e90de438d67 /src/backend/commands/explain.c
parent18c10877a9b7d5e3766f6f34c827892a33872567 (diff)
downloadpostgresql-ffafacc1f6e403b81180aa20d0a4184ce92beef8.tar.gz
postgresql-ffafacc1f6e403b81180aa20d0a4184ce92beef8.zip
Repair potential deadlock created by recent changes to recycle btree
index pages: when _bt_getbuf asks the FSM for a free index page, it is possible (and, in some cases, even moderately likely) that the answer will be the same page that _bt_split is trying to split. _bt_getbuf already knew that the returned page might not be free, but it wasn't prepared for the possibility that even trying to lock the page could be problematic. Fix by doing a conditional rather than unconditional grab of the page lock.
Diffstat (limited to 'src/backend/commands/explain.c')
0 files changed, 0 insertions, 0 deletions