]> 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:11 +0000 (15:57 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 29 Jul 2009 15:57:11 +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 e71b95c82697bfdb59b5b1c0c3fbf13fa9e5cebb..9a3d2f62606602e543f4ef77cf124ad417e62553 100644 (file)
@@ -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)