postgresql/src
Andres Freund 1fe1f42e3e Acquire ProcArrayLock exclusively in ProcArrayClearTransaction.
This corrects an oversight by me in 2072932407, which made
ProcArrayClearTransaction() increment xactCompletionCount. That requires an
exclusive lock, obviously.

There's other approaches that avoid the exclusive acquisition, but given that a
2PC commit is fairly heavyweight, it doesn't seem worth doing so. I've not been
able to measure a performance difference, unsurprisingly.  I did add a
comment documenting that we could do so, should it ever become a bottleneck.

Reported-By: Tom Lane <tgl@sss.pgh.pa.us>
Author: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/1355915.1597794204@sss.pgh.pa.us
2020-08-19 18:24:33 -07:00
..
backend Acquire ProcArrayLock exclusively in ProcArrayClearTransaction. 2020-08-19 18:24:33 -07:00
bin Avoid non-constant format string argument to fprintf(). 2020-08-18 13:13:09 +03:00
common Replace remaining StrNCpy() by strlcpy() 2020-08-10 23:20:37 +02:00
fe_utils Move connect.h from fe_utils to src/include/common. 2020-08-10 09:22:54 -07:00
include Suppress unnecessary RelabelType nodes in yet more cases. 2020-08-19 14:07:49 -04:00
interfaces Replace remaining StrNCpy() by strlcpy() 2020-08-10 23:20:37 +02:00
makefiles Remove libpq.rc, use win32ver.rc for libpq 2020-01-15 15:06:12 +01:00
pl Fix -Wcast-function-type warnings 2020-07-14 19:55:25 +02:00
port Remove optimization for RAND_poll() failing. 2020-07-25 14:50:59 -07:00
template Fix compiler warning for ppoll() on Cygwin 2019-12-22 23:20:00 +01:00
test Add pg_backend_memory_contexts system view. 2020-08-19 15:34:43 +09:00
timezone Ensure that distributed timezone abbreviation files are plain ASCII. 2020-07-17 11:03:55 -04:00
tools snapshot scalability: Move subxact info to ProcGlobal, remove PGXACT. 2020-08-14 15:33:35 -07:00
tutorial Update copyrights for 2020 2020-01-01 12:21:45 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02: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 Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Update Unicode data to Unicode 13.0.0 and CLDR 37 2020-04-24 09:52:59 +02:00
Makefile.shlib Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
nls-global.mk NLS: Fix backend gettext triggers 2019-09-23 09:04:20 +02:00