From: Tom Lane Date: Wed, 29 Jul 2009 15:57:11 +0000 (+0000) Subject: Fix a thinko introduced into CountActiveBackends by a recent patch: X-Git-Tag: REL8_5_ALPHA1~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=850490579318ff52097eec92ce535357dd0c7a3a;p=thirdparty%2Fpostgresql.git Fix a thinko introduced into CountActiveBackends by a recent patch: we should ignore NULL array entries, not non-NULL ones. This had the effect of disabling commit_delay, and could have caused a crash in the rare race condition the patch was intended to fix. Bug report and diagnosis by Jeff Janes, in bug #4952. --- diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index e71b95c8269..9a3d2f62606 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -23,7 +23,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.50 2009/06/11 14:49:02 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.51 2009/07/29 15:57:11 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1137,7 +1137,7 @@ CountActiveBackends(void) * free list and are recycled. Its contents are nonsense in that case, * but that's acceptable for this function. */ - if (proc != NULL) + if (proc == NULL) continue; if (proc == MyProc)