]> granicus.if.org Git - postgresql/commitdiff
Fix a thinko introduced into CountActiveBackends by a recent patch:
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 29 Jul 2009 15:57:23 +0000 (15:57 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 29 Jul 2009 15:57:23 +0000 (15:57 +0000)
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.

src/backend/storage/ipc/procarray.c

index a9ae969f31eea6b8a75ac03ba42a17e358c0c599..94459cc1993fd7d565122237eb8374f98912dce4 100644 (file)
@@ -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)