postgresql/src
Heikki Linnakangas bd1cfde70e Fix RBM_ZERO_AND_LOCK mode to not acquire lock on local buffers.
Commit 81c45081 introduced a new RBM_ZERO_AND_LOCK mode to ReadBuffer, which
takes a lock on the buffer before zeroing it. However, you cannot take a
lock on a local buffer, and you got a segfault instead. The version of that
patch committed to master included a check for !isLocalBuf, and therefore
didn't crash, but oddly I missed that in the back-patched versions. This
patch adds that check to the back-branches too.

RBM_ZERO_AND_LOCK mode is only used during WAL replay, and in hash indexes.
WAL replay only deals with shared buffers, so the only way to trigger the
bug is with a temporary hash index.

Reported by Artem Ignatyev, analysis by Tom Lane.
2015-05-13 10:06:38 +03:00
..
backend Fix RBM_ZERO_AND_LOCK mode to not acquire lock on local buffers. 2015-05-13 10:06:38 +03:00
bin Properly send SCM status updates when shutting down service on Windows 2015-05-07 15:10:01 +02:00
include Backport "Add pgreadlink() on Windows to read junction points". 2015-05-05 15:54:26 -04:00
interfaces Build libecpg with -DFRONTEND in all supported versions. 2015-04-26 17:20:30 -04:00
makefiles Don't use deprecated dllwrap on Cygwin. 2014-02-01 16:14:15 -05:00
pl Free SQLSTATE and SQLERRM no earlier than other PL/pgSQL variables. 2015-02-25 23:49:45 -05:00
port Backport "Add pgreadlink() on Windows to read junction points". 2015-05-05 15:54:26 -04:00
template Don't try to force use of -no-cpp-precomp on OS X. It's been five years 2010-08-02 04:51:25 +00:00
test Fix incorrect checking of deferred exclusion constraint after a HOT update. 2015-05-11 12:25:28 -04:00
timezone Update time zone data files to tzdata release 2015a. 2015-01-30 22:46:22 -05:00
tools Build every ECPG library with -DFRONTEND. 2015-04-24 19:30:08 -04:00
tutorial Remove tabs after spaces in C comments 2014-05-06 11:26:25 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:06 +02:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Rethink the way walreceiver is linked into the backend. Instead than shoving 2010-01-20 09:16:24 +00:00
Makefile.global.in Add mode where contrib installcheck runs each module in a separately named database. 2012-12-11 11:48:00 -05:00
Makefile.shlib Unlink static libraries before rebuilding them. 2015-03-01 13:08:48 -05:00
nls-global.mk Avoid error from mkdir if no languages are to be installed 2010-05-13 14:35:28 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00