From: Tom Lane Date: Wed, 29 Jul 2009 15:57:23 +0000 (+0000) Subject: Fix a thinko introduced into CountActiveBackends by a recent patch: X-Git-Tag: REL8_3_8~22 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e9d2f68632aaa12cd7a17a33675a947734df2be6;p=postgresql 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 a9ae969f31..94459cc199 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.40.2.1 2009/03/31 05:18:39 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.40.2.2 2009/07/29 15:57:23 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1101,7 +1101,7 @@ CountActiveBackends(void) * the 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)