pgpool2.git / summary / log / commit / refs
commit cfa993268b4af00b9ba5bae59ea4fb78a59c0acb
Author: Toshihiro Kitagawa <kitagawa at sraoss.co.jp>
Date: Fri Oct 15 03:10:56 2010 +0000
Fix ErrorResponse so that it checks existence of a session context.
pool_proto2.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/pool_proto2.c b/pool_proto2.c
index cf6c5f0a9..4cd1d76ba 100644
--- a/pool_proto2.c
+++ b/pool_proto2.c
@@ -380,7 +380,7 @@ POOL_STATUS ErrorResponse(POOL_CONNECTION *frontend,
char *string = NULL;
int len;
int i;
- POOL_STATUS ret;
+ POOL_STATUS ret = POOL_CONTINUE;
for (i=0;i<NUM_BACKENDS;i++)
{
@@ -398,7 +398,12 @@ POOL_STATUS ErrorResponse(POOL_CONNECTION *frontend,
if (pool_write_and_flush(frontend, string, len) < 0)
return POOL_END;
- ret = raise_intentional_error_if_need(backend);
+ /*
+ * check session context, because this function is called
+ * by pool_do_auth too.
+ */
+ if (pool_get_session_context())
+ ret = raise_intentional_error_if_need(backend);
/* change transaction state */
for (i=0;i<NUM_BACKENDS;i++)
[parent: 1e4daa64b51f]