aboutsummaryrefslogtreecommitdiff
path: root/src/backend/regex/regexec.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-01-13 23:07:28 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2010-01-13 23:07:28 +0000
commitcfac3efb2f75d19b35f428fa4d248b4114cd0437 (patch)
treef7316581395b6a26b7985b876999a9053cccabf0 /src/backend/regex/regexec.c
parent483b17119a098e282968d2d2050345b97643599c (diff)
downloadpostgresql-cfac3efb2f75d19b35f428fa4d248b4114cd0437.tar.gz
postgresql-cfac3efb2f75d19b35f428fa4d248b4114cd0437.zip
When loading critical system indexes into the relcache, ensure we lock the
underlying catalog not only the index itself. Otherwise, if the cache load process touches the catalog (which will happen for many though not all of these indexes), we are locking index before parent table, which can result in a deadlock against processes that are trying to lock them in the normal order. Per today's failure on buildfarm member gothic_moth; it's surprising the problem hadn't been identified before. Back-patch to 8.2. Earlier releases didn't have the issue because they didn't try to lock these indexes during load (instead assuming that they couldn't change schema at all during multiuser operation).
Diffstat (limited to 'src/backend/regex/regexec.c')
0 files changed, 0 insertions, 0 deletions