diff options
-rw-r--r-- | src/gtm/proxy/proxy_main.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gtm/proxy/proxy_main.c b/src/gtm/proxy/proxy_main.c index 8db81b1e3c..ba976eb938 100644 --- a/src/gtm/proxy/proxy_main.c +++ b/src/gtm/proxy/proxy_main.c @@ -1177,6 +1177,9 @@ GTMProxy_ThreadMain(void *argp) */ if (conninfo->con_disconnected) { + EmitErrorReport(conninfo->con_port); + if (conninfo->con_port->sock > 0) + StreamClose(conninfo->con_port->sock); GTMProxy_ThreadRemoveConnection(thrinfo, conninfo); pfree(conninfo); ii--; @@ -2329,8 +2332,6 @@ GTMProxy_HandshakeConnection(GTMProxy_ConnectionInfo *conninfo) if (startup_type != 'A') { conninfo->con_disconnected = true; - if (conninfo->con_port->sock > 0) - StreamClose(conninfo->con_port->sock); ereport(ERROR, (EPROTO, errmsg("Expecting a startup message, but received %c", @@ -2347,8 +2348,6 @@ GTMProxy_HandshakeConnection(GTMProxy_ConnectionInfo *conninfo) if (pq_getmessage(conninfo->con_port, &inBuf, 0)) { conninfo->con_disconnected = true; - if (conninfo->con_port->sock > 0) - StreamClose(conninfo->con_port->sock); ereport(ERROR, (EPROTO, errmsg("Expecting PGXC Node ID, but received EOF"))); |