Do not set/unset fronted connection info for dead backend.
authorTatsuo Ishii <ishii@postgresql.org>
Mon, 11 Nov 2013 11:48:12 +0000 (20:48 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Mon, 11 Nov 2013 11:48:12 +0000 (20:48 +0900)
Per bug #82.

src/context/pool_process_context.c

index 12963a5e09049347e350d639bd872dc135bc2d80..e6c4d81c06ee0d3f6e9a09ee0785d7101d4d1745 100644 (file)
@@ -6,7 +6,7 @@
  * pgpool: a language independent connection pool server for PostgreSQL 
  * written by Tatsuo Ishii
  *
- * Copyright (c) 2003-2010     PgPool Global Development Group
+ * Copyright (c) 2003-2013     PgPool Global Development Group
  *
  * Permission to use, copy, modify, and distribute this software and
  * its documentation for any purpose and without fee is hereby
@@ -208,6 +208,9 @@ void pool_coninfo_set_frontend_connected(int proc_id, int pool_index)
 
        for (i=0;i<NUM_BACKENDS;i++)
        {
+               if (!VALID_BACKEND(i))
+                       continue;
+
                con = pool_coninfo(proc_id, pool_index, i);
 
                if (con == NULL)
@@ -229,6 +232,9 @@ void pool_coninfo_unset_frontend_connected(int proc_id, int pool_index)
 
        for (i=0;i<NUM_BACKENDS;i++)
        {
+               if (!VALID_BACKEND(i))
+                       continue;
+
                con = pool_coninfo(proc_id, pool_index, i);
 
                if (con == NULL)